从0开始学习R语言--Day10--时间序列分析数据

在数据分析中,我们经常会看到带有时间属性的数据,比如股价波动,各种商品销售数据,网站的网络用户活跃度等。一般来说,根据需求我们会分为两种,分析历史数据的特点和预测未来时间段的数据。

移动平均

移动平均的原理是用几天的数据作为一个窗口,根据权重乘以值得出预测该天的数据。我们以分析销售数据作为例子:

set.seed(123)
weeks <- 1:15
sales <- round(5000 + cumsum(rnorm(15, sd=300)))  # 随机波动
ma3_forecast <- stats::filter(sales, rep(1/3,3), sides=1)
# 预测第16周
next_week <- tail(ma3_forecast,1)
plot(weeks, sales, type="o", ylim=c(4000,6000),main="便利店周销售额预测", ylab="销售额", xlab="周数")
lines(weeks, ma3_forecast, col="red", type="o")
points(16, next_week, col="red", pch=19)
abline(v=15.5, lty=2)
text(16, next_week, labels=paste("预测:",round(next_week)), pos=4)

这里由于是要进行预测数据,代码里的语法选择了sides=1,意思是用历史数据来预测,图中的红点是基于历史数据生成的对于预测点,从这里我们可以观察到红色曲线像是往右偏移了的灰色曲线,这表明了如果简单的用历史数据去预测,那么预测得到的数据的特点会具有滞后性。

接下来我们来看看研究过去的体温数据的例子:

set.seed(123)
days <- 1:14
true_temp <- 36.5 + 0.1 * sin(2 * pi * days/7)  # 真实体温有轻微周波动
measured_temp <- true_temp + rnorm(14, sd=0.3)  # 测量误差
ma3 <- stats::filter(measured_temp, rep(1/3, 3), sides=2) 
plot(days, measured_temp, type="o", col="gray", main="每日体温监测", ylab="体温(℃)", xlab="天数") # 原始数据
lines(days, true_temp, col="green", lwd=2) # 平滑后的趋势
lines(days, ma3, col="red", lwd=2, type="o")
legend("topright", legend=c("测量值", "真实值", "3天移动平均"),col=c("gray", "green", "red"), lty=1, pch=c(1,NA,1))

在这里我们用的是sides=2,表示中心平均,也就是三个数据的权重相同,当然了,如果数据本身特殊,也可以用不等量权重weight <- c(0.2,0.5,0.3),注意最左边的是最靠近预测天数的那一个数据点。之所以分析历史数据时我们用中心平均,是因为这样利用了前后信息,可以从数据点的下一个数据得出反馈。此外,通过比较原始数据与平滑数据的偏差,如果某点的偏差远大于其他点(如超出2倍标准差),我们也可以借机对其进行异常标记。像股价分析问题中,用中心化平滑股价波动,如果某天价格大幅度偏离平滑线,那就有可能是市场异常事件导致的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.pswp.cn/news/907108.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

倚光科技在二元衍射面加工技术上的革新:引领光学元件制造新方向​

倚光科技二元衍射面加工技术&#xff08;呈现出细腻的光碟反射纹路&#xff09; 在光学元件制造领域&#xff0c;二元衍射面的加工技术一直是行业发展的关键驱动力之一。其精准的光相位调制能力&#xff0c;在诸多前沿光学应用中扮演着不可或缺的角色。然而&#xff0c;长期以来…

【redis原理篇】底层数据结构

SDS Redis是基于C语言实现的&#xff0c;但是Redis中大量使用的字符串并没有直接使用C语言字符串。 一、SDS 的设计动机 传统 C 字符串以 \0 结尾&#xff0c;存在以下问题&#xff1a; 性能瓶颈&#xff1a;获取长度需遍历字符数组&#xff0c;时间复杂度 O(n)。缓冲区溢出…

尚硅谷redis7 20-redis10大类型之zset

zset是redis中的有序集合【sorted set】 zset就是在set基础上&#xff0c;每个val值前加一个score分数值。 之前set是k1 v1 v2 v3现在zset是k1 score1 v1 score2 v2 向有序集合中加入一个元素和该元素的分数 ZADD key score member [score member...] 添加元素 127. 0. 0. …

STM32 SPI通信(软件)

一、SPI简介 SPI&#xff08;Serial Peripheral Interface&#xff09;是由Motorola公司开发的一种通用数据总线四根通信线&#xff1a;SCK&#xff08;Serial Clock&#xff09;、MOSI&#xff08;Master Output Slave Input&#xff09;、MISO&#xff08;Master Input Slav…

Kotlin Native与C/C++高效互操作:技术原理与性能优化指南

一、互操作基础与性能瓶颈分析 1.1 Kotlin Native调用原理 Kotlin Native通过LLVM编译器生成机器码,与C/C++的互操作基于以下核心机制: CInterop工具:解析C头文件生成Kotlin/Native绑定(.klib),自动生成类型映射和包装函数双向调用约定: Kotlin调用C:直接通过生成的绑…

云原生安全 SaaS :从基础到实践

&#x1f525;「炎码工坊」技术弹药已装填&#xff01; 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 1. 基础概念 什么是 SaaS&#xff1f; SaaS&#xff08;Software as a Service&#xff0c;软件即服务&#xff09;是一种基于云计算的软件交付模式。用…

git clone 提速

git上的项目时间久了 .git文件夹非常大&#xff0c;这时候更新一次项目需要花费很长的时间&#xff0c;解决方法也很简单&#xff0c;加一个depth参数&#xff0c;命令如下&#xff1a; git clone --depth 1 https://github.com/xxxxxx/xxxxxx指定了 depth 1 的时候&#xff0…

Redis 性能优化:核心技术、技巧与最佳实践

Redis 作为高性能的内存数据库,其性能优化是系统设计中的关键环节。本文结合 Redis 官方文档及实践经验,从内存管理、延迟优化、CPU 效率、网络配置等多个维度,系统性地阐述 Redis 性能优化的核心技术与最佳实践。 通过以下优化手段,Redis 可在高并发、低延迟场景中发挥极致…

PostgreSQL 14 pacemaker 高可用集群

核心架构原理 集群组成&#xff08;典型三节点结构&#xff09;&#xff1a; [Node1] PostgreSQL Pacemaker Corosync pcsd [Node2] PostgreSQL Pacemaker Corosync pcsd [Node3] PostgreSQL Pacemaker Corosync pcsd ↕ ↕ ↕ ← Corosync 多…

影刀Fun叉鸟-2048

文章目录 仅为自动化演示&#xff0c;实际2048判定逻辑需要更加严谨 参考代码 # 使用提醒: # 1. xbot包提供软件自动化、数据表格、Excel、日志、AI等功能 # 2. package包提供访问当前应用数据的功能&#xff0c;如获取元素、访问全局变量、获取资源文件等功能 # 3. 当此模块作…

Vue3.5 企业级管理系统实战(二十):角色菜单

本篇聚焦于角色菜单权限分配功能的实现&#xff0c;围绕“给角色赋予菜单权限”这一核心场景&#xff0c;从接口设计、组件封装到页面集成展开完整技术方案的阐述。主要内容包括&#xff1a; 1. 角色权限接口开发&#xff1a;定义获取角色权限、分配权限等接口&#xff0c;规范…

go实现钉钉三方登录

钉钉的的官方开发文档中只给出了java实现三方登录的&#xff0c;我们准备用go语言来实现 实现网页方式登录应用&#xff08;登录第三方网站&#xff09; - 钉钉开放平台 首先就是按照文档进行操作&#xff0c;备注好网站的信息 获得应用凭证&#xff0c;我们后面会用到 之后…

一、OpenCV的基本操作

目录 1、OpenCV的模块 2、OpenCV的基础操作 2.1图像的IO操作 2.2绘制几何图形 2.3获取并修改图像中的像素点 2.4 获取图像的属性 2.5图像通道的拆分与合并 2.6色彩空间的改变 3、OpenCV的算数操作 3.1图像的加法 3.2图像的混合 3.3总结 1、OpenCV的模块 2、OpenCV的基…

虚拟机配置桥接,远程工具直接访问

虚拟机网络配置 前言windows下安装linux虚拟机配置网络1、设置虚拟机网络模式&#xff1a;桥接模式2、配置网络参数1、查看本机电脑连接的网络情况2、打开虚拟机&#xff0c;编辑配置文件3、编辑虚拟网络 3、测试连通性 前言 好不容易装上了虚拟机&#xff0c;输入命令时又发现…

RabbitMQ 概述与安装

MQ 作用与介绍 MQ 是什么 MQ (message queue),从字面意思看是一个队列, FIFO 先进先出,只不过里面存放的内容是 消息 消息 可以比较简单,比如只包含 文本字符串,JSON 等;也可以很复杂,比如 内嵌对象 等 MQ 多用于分布式系统之间进行通信 系统之间的调用通常有两种方式: 1…

如何在Vue中实现延迟刷新列表:以Element UI的el-switch为例

如何在Vue中实现延迟刷新列表&#xff1a;以Element UI的el-switch为例 在开发过程中&#xff0c;我们经常需要根据用户操作或接口响应结果来更新页面数据。本文将以Element UI中的el-switch组件为例&#xff0c;介绍如何在状态切换后延迟1秒钟再调用刷新列表的方法&#xff0…

CSS2相关知识点

CSS2相关知识点 CSS的编写位置样式种类样式表的优先级 CSS选择器CSS基本选择器通配选择器元素选择器类选择器ID选择器 复合选择器HTML元素间的关系交集选择器并集选择器后代选择器子代选择器兄弟选择器属性选择器伪类选择器伪元素选择器 颜色的表示表示方式一&#xff1a;颜色名…

centos yum源,docker源

yum源repo文件&#xff1a; wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repodocker源repo文件&#xff1a; yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo安装docker和docker c…

深入探索AI模型工程:算法三大门派与监督学习的魅力

在当今人工智能蓬勃发展的时代&#xff0c;AI系统正逐渐渗透到我们生活的方方面面。从智能语音助手到自动驾驶汽车&#xff0c;从医疗影像诊断到金融风险预测&#xff0c;AI的应用场景无处不在。然而&#xff0c;构建一个高效、可靠的AI系统并非易事&#xff0c;它需要我们从宏…

[De1CTF 2019]SSRF Me

算是我第一次正儿八经的分析python代码了 from flask import Flask, request import socket import hashlib import urllib import sys import os import jsonreload(sys) sys.setdefaultencoding(latin1)app Flask(__name__) # 创建一个Flask应用实例 secret_key os.ura…