当前位置: 首页 > 后端技术 > Python

QBUS6840分析解决方案

时间:2023-03-26 15:25:10 Python

2019S1QBUS6840作业1第1页,共5QBUS6840作业1–家庭作业:截止日期:2019年4月12日,星期五值:15%原理此作业旨在帮助学生针对综合问题和可能的实际应用问题培养基本的预测分析技能,包括数据可视化、模型构建和在理论理解、原始数据实践和Python编程方面进行分析。任务考虑以(奇数顺序)为中心的MA-(2+1)(即CMA-(2+1))和两层(2m+1)x(2n+1)-MA.(a)证明3x5-MA等价于7项加权移动平均线并找出所有权重。对于一般的非负整数m和n,认为a(2m+1)x(2n+1)-MA等价于X项加权移动平均值。什么是X?(b)写出CMA-(2+1)的公式,并使用你的通用公式写出CMA-11的公式。(c)证明当给定的时间序列是周期性的周期2+1,平滑时间序列byCMA-(2+1)是常数级数。找出该常数的值。(d)再次假设时间序列是周期性的,周期为2+1。其一阶差分时间序列定义为for=1,2,3,….证明新时间序列也是周期性的,周期为M,并确定M的最小值。将CMA-(M)应用于并找出所得的平滑时间序列。您必须清楚地显示推理的每个步骤。[25分]数据集CBA_1991-2018.csvonCanvas(数据下载自https://au.finance.yahoo.com/...包含澳大利亚联邦银行(CBA)从1991年8月到2018年12月的每月股票价格。2019S1QBUS6840Assignment1Page2of5(a)编写Python脚本加载数据并提取Highstockprices并将其制成以Datetime为索引的时间序列并将其存储为新的csv文件CBA_1991-2018High.csv。通过一阶转换时间序列数据和二阶差分并产生t继承人地块(三个地块)以便熟悉它。在您的提交中包括情节。您必须使用日期时间索引作为绘图的x轴。(b)编写您自己的Python脚本以使用CMA-24方法实现平滑,并针对它绘制(a)中原始时间序列序列的平滑时间序列。并编写Python代码以使用pandas包的rolling_mean函数(ver0.17)或rolling函数(ver0.20+)重新进行CMA-24平滑。比较自己实现的结果和pandas实现的结果。你得到了相同的结果吗?为什么?请参阅有关如何使用滚动或滚动均值的熊猫文档。价格(注意在开头和/或结尾处遗漏平滑值!)]。(d)CMA-5平滑可以调整转化为一种预测方法做一步超前预测如下使用这种预测方法预测(a)的时间序列中的最后四个月(即我们假设我们在做预测时不知道它们)。为任务编写您自己的Python程序。(e)对于给定的时间序列,使用CMA-5预测方法可能不太准确。但是,对于(a)中的时间序列,您可以通过使用线性回归寻求定义为4=1的预测方法。对于(a)中给定的时间序列,制定最小二乘线性回归问题并编写您的Python执行此回归任务以计算权重的程序。您可以使用(a)时间序列中除最后四个月以外的所有数据。使用新学习的权重,对最后四个月进行一步预测。提示:给定特殊条件4=1on2019S1QBUS6840分配,你可以设计你的回归问题,使得只有4weights(例如,4)待解决。考虑在这种情况下训练数据应该是什么。(f)报告(d)和(e)中方法的尺度相关度量均方根误差(RMSE)和平均绝对误差(MAE)[预测价格和真实价格。][25分]考虑数据集plastic.csv,其中包含塑料制造商产品A的月销售额(以千计)五年。(a)绘制产品A销售额的时间序列。分析和识别季节性波动和/还是趋势周期?(b)编写自己的Python程序来实现经典的乘法分解来计算趋势周期和季节性指数。讨论结果是否支持(a)部分的图形解释。(c)计算和绘制经季节性调整的数据。(d)将一个观察值更改为大纲(例如,将500添加到一个观察值),并重新计算经季节性调整的数据。离群值有什么影响?(e)利用分解进行预测,对趋势-周期成分建立回归模型,然后用这个趋势-周期成分和其他成分做三步预测(超前一步、超前两步和超前三步预测)。[20分]数据集Airline.csv是一个著名的时间序列,包含从1949年1月到1960年12月的每月国际航空公司乘客总数。您需要使用以下任务中指定的相关模型或方法来预测未来四个月的乘客数量:(a)在您的Python程序中绘制该系列并讨论数据的主要特征。(b)编写您自己的Python脚本以在Airline系列上实施Holt线性趋势法。您可以按照https://otexts.com/fpp2/holt....中的组件形式来定义一个至少接受三个参数的Python函数,即时间序列y、水平α的平滑参数和水平的平滑参数趋势β和回报平滑的时间序列。分别为????0和????0设置一个合理的值。在您的代码中,探索α和β的不同值的组合,例如0.2、0.4。0.6和0.8.计算并记录每对值α和β的领先一步SSE(误差平方和)。选择四个具有代表性的平滑系列绘制并使用图例表示相应的α和β值以及SSE。基于16个案例讨论α和β对预测的影响,报告α和β的哪些值最有效2019S1QBUS6840作业1第4页共5页16个案例,并预测最佳的α和β可能是什么。(c)TheHolt的线性趋势法也提供了多时间段预测,请参考https://otexts.com/fpp2/holt....在你的Python程序中,编写代码来选择两步法的α和β的最优值提前(或地平线)预报SSE。为提前两步(地平线)预测绘制SSEα和β。使用最佳提前两步α和β生成未来四个月的预测。绘制原始数据系列和基于最佳两步超前α和β的平滑系列以及所有预测,相互对照。提示:这是一个3D图,您需要迭代一系列α和β值[30Marks]TipsforTasks在你的程序中,你可能包含以下代码来实现SSE.defsse(x,y):returnnp.sum(np.power(x-y,2))在任务3中,你可能需要建立线性回归模型。这可以通过使用Pythonsklearn包(一个机器学习包)轻松完成。以下代码部分会有所帮助fromsklearnimportlinear_modellm=linear_model.LinearRegression(fit_intercept=True)model=lm.fit(X,y)%Fittinglinearmodeltodataforecasts=lm.predict(x)%timeseriesforecastingwhereXandyareinput和依赖变量。在回答任务4中的问题(c)时,您可能会得出大约100alpha和100个beta值,分别通过使用alphas=np.arange(0.01,1,0.01)betas=np.arange(0.01,1,0.01)表示?请通过Canvas上的电子系统提交您的项目。要提交的作业材料将包含一份PDF或WORD文档,其中:i)详细说明所有步骤。ii)通过展示你的分析和计算来展示对预测相关原则的理解。2019S1QBUS6840作业1第5页,共5页iii)清楚并适当地展示程序中的任何相关表格、图形和屏幕转储(如果有的话)。iv)以单独的py文件形式提供您的程序代码(如果有)。您将被告知如何提交您的程序代码文件。迟交罚款该作业将于2019年4月12日星期五下午16:00到期。作业的迟交罚款是每天分配分数的5%,从截止日期的下午16:00开始.截止日期,2019年4月,下午16:00是接受评估的最后日期用于标记.WX:codehelp