【2024_CUMCM】时间序列4-实战

目录

思考建模思路 

例1

定义date

创建时间序列模拟器

结果分析 

例2 

序列图   

创建时间序列模型

未除去异常值

剔除有异常值

勾选

结果 

注 


思考建模思路 

1 )处理数据的缺失值问题、生成时间变量并画出时间序列图;
2 )数据是否为季度数据或者月份数据(至少有两个完整的周期,即两年),如
果是的话则要观察图形中是否存在季节性波动(加法和乘法)
3 )根据时间序列图大致判断数据是否为平稳序列(数据围绕着均值上下波动,
无趋势和季节性)
4 Spss创建传统模型,看看 Spss专家建模器得出的最优的模型类型。
5 )如果最后的结果是 ARIMA(p,0,q) 模型(也就是ARMA),那么我们就可以画出时间序列的样本 ACF和 PACF 图形进行分析;如果得到的是 ARIMA(p,1,q) 模型,我们可以先对数据进行 1阶差分后再用 ACF PACF 图形分析;如果得到的结果与季节性相关,那么我们可以
考虑使用时间序列分解。
(1) 一般比较两个模型的好坏,我们可以使用平稳的 R 方(文档上翻译成了固定的 R 方)或者标准化
BIC BIC 准则),这两个指标既考虑了拟合的好坏,又考虑了模型的复杂度;
(2)R 方可用来反映线性模型拟合的好坏,越接近于 1 拟合的越准确。

例1

根据某产品2014-2018年季度销售数据,预测未来两年的销售数据。 

定义date

创建时间序列模拟器

按照下面示例图进行勾选就行

勾选ACF和PACF图,我们需要观察他们是否拖尾或截尾 

结果分析 

spss专家建模为我们选择了温特斯加性模型

 

R2越接近1拟合效果越好 

spss中直接帮你选择BIC最小

p值大于0.05, 没有白噪声

结论:从残差的 ACF PACF 图形中可以看出,所有滞后阶数的自相关系数和偏自相关系数均和0 没有显著的差异;另外从表可以看出,对残差进行Q 检验得到的 p 值为0.741 ,即我们无法拒绝原假设,认为残差就是白噪声序列,因此温特加法模型能够很好的识别本例中的销量数据。

写论文时需要写进去 

 


例2 

给定 2016/01/04 2019/08/07 的上证指数,请对其进行建模,并预测接下来一
段时间的指数走势。

 定义date

本题定义date与上一题有所不同,本题的时间不是连续的,股票会有收市的时间,所以定义时直接使用“天”

序列图   

创建时间序列模型

未除去异常值

 

spss为我们选择了simple模型 

p值为0 ,残差不是白噪声,模型效果并不好,从下面的图也可以看出来,ACF与PACF都出现了拖尾,并不满足此模型的特点。

从预测值也可以看出不对劲,预测出来的数据都一样 ,这个我们之前也讲过,simple模型只能预测下一个数值。

因为这个是股票数据,使用我们考虑是未除去异常值,下面展示除去异常值做法

剔除有异常值

勾选

条件-离群值

结果 

 从上面这些评估指标来看模型的效果好像还不错,但是实际中预测并没有这么简单

然后我们还发现,在第14个预测值后,后面的值都是一样的,这也是模型的弊端

     

注意:我们将波动较大的数据看成了异常值,事实
上有更加复杂的模型可以捕捉到这些异常值,例如
GARCH模型(广义的自回归条件异方差模型)

时间序列分析之GARCH模型介绍与应用-CSDN博客(这篇文章可以,里面有py代码)


注 

预测两要:
一要结合背景;(例如某些政策的影响,例如GDP增速)
二要合理假设。
预测两不要
不要硬套模型;
不要不做解释
  • 11
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
题目描述: 一艘质量为$m$的船停靠在距离海岸线$L$的海域, 用一根长为$L$的铁锚将其系住。现有一条绳子, 一端固定在海岸上某点, 另一端系在船上。 要求绳子始终保持水平, 即绳子与水面的夹角为90°。 现在需要设计一个系泊系统,使得满足以下要求: 1. 绳子的长度为$L$; 2. 系泊系统能够承受风浪力矩$mgl\sin\theta$($\theta$为船在水平方向上的倾斜角度,$g$为重力加速度,$m$为船的质量,$l$为船到绳子固定点的水平距离); 3. 系泊系统的总重力不超过$G$,其中包括锚和绳子的重力; 请设计一个系泊系统,确定锚点在海岸线上的位置,以及绳子的长度。 思路: 1. 通过分析,可以得到系泊系统的主要受力情况:重力,浮力,张力和风浪力矩。其中,重力和浮力是与锚点位置无关的,可以先计算出来;风浪力矩是与船的倾斜角度有关的,需要在计算时考虑。 2. 假设锚点位置为$(0,0)$,船的位置为$(x,y)$,则绳子的长度$L$可以表示为$\sqrt{x^2+y^2}$。考虑绳子的张力,由于绳子与水面垂直,所以绳子的张力只有水平方向的分量,即$T\sin\theta$,其中,$\theta$为绳子与水平面的夹角。 3. 计算重力和浮力。船的重力为$mg$,浮力为$\rho Vg$,其中,$\rho$为水的密度,$V$为船的体积。绳子和锚的重力可以通过绳子的长度$L$和锚的重量来计算,即$g(L-x)\rho_s A$,其中,$\rho_s$为锚的密度,$A$为锚的横截面积。 4. 考虑风浪力矩的影响。假设风浪力矩对船的影响可以视为一个力矩,大小为$mgl\sin\theta$,方向垂直于船的水平方向,根据右手定则可以确定其方向。由于绳子的张力与水平方向平行,所以风浪力矩只对船的倾斜角度$\theta$有影响。 5. 在计算时,可以将锚点位置和绳子长度作为变量,通过求解最优化问题,确定最佳的锚点位置和绳子长度,使得系泊系统满足要求。可以考虑使用数值优化方法进行求解。 参考代码: ``` import numpy as np from scipy.optimize import minimize def objective(x): L = np.sqrt(x[0]**2 + x[1]**2) theta = np.arctan(x[1] / x[0]) T = (m*g + rho*V*g + (L-x[0])*rho_s*A) / np.sin(theta) M = T * L * np.sin(theta) return -M def constraint1(x): L = np.sqrt(x[0]**2 + x[1]**2) theta = np.arctan(x[1] / x[0]) T = (m*g + rho*V*g + (L-x[0])*rho_s*A) / np.sin(theta) return G - (m + rho_s*A*(L-x[0]) + rho*V)*g - T*np.cos(theta) def constraint2(x): return x[0] def constraint3(x): return x[1] # 系泊系统参数 m = 1000 # 船的质量 V = 100 # 船的体积 rho = 1000 # 水的密度 rho_s = 7800 # 锚的密度 A = 10 # 锚的横截面积 g = 9.8 # 重力加速度 G = 100000 # 系泊系统的总重力 # 初始值 x0 = [10, 10] # 约束条件 cons = [ {'type': 'ineq', 'fun': constraint1}, {'type': 'ineq', 'fun': constraint2}, {'type': 'ineq', 'fun': constraint3} ] # 求解最优化问题 sol = minimize(objective, x0, method='SLSQP', constraints=cons) # 输出结果 print(sol) ``` 参考资料: [1] 赵凌宇. 数学建模算法与应用[M]. 北京:清华大学出版社,2016. [2] 谷超豪,李涛,刘宝印,等. 数学建模算法应用与分析[M]. 北京:科学出版社,2016.

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值