当前位置: 首页 > 后端技术 > Node.js

2019S1QBUS6840

时间:2023-04-04 01:37:52 Node.js

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,平滑时间序列CMA-(2+1)是常数级数。找出该常数的值。(d)再次假设时间序列是周期性的,周期为2?????+1.其一阶差分时间序列定义为.证明新的时间序列也是周期性的,周期为M,并找出M的最小值。将CMA-(M)应用于并找出得到的平滑时间序列你必须清楚地展示推理的每一步。[25分]Canvas上的数据集CBA_1991-2018.csv(数据下载自https://au.finance.yahoo.com/...包含CommonwealthBankof的每月股票价格Australia(CBA)fromAugust1991toDecember2018.2019S1QBUS6840Assignment1Page2of5(a)编写Python脚本加载数据并提取Highstockprices并将其制成以Datetime为索引的时间序列并将其存储为新的csv文件CBA_1991-2018High.csv。将时间序列数据通过一阶和二阶差分进行转换并产生它们的图(threeplots)以便熟悉它。在您的提交中包括情节。您必须使用日期时间索引作为绘图的x轴。(b)编写您自己的Python脚本以使用CMA-24方法实现平滑,并针对它绘制(a)中原始时间序列序列的平滑时间序列。并编写Python代码以使用pandas包的rolling_mean函数(ver0.17)或rolling函数(ver0.20+)重新进行CMA-24平滑。比较自己实现的结果和pandas实现的结果。你得到了相同的结果吗?为什么?请参阅有关如何使用滚动或滚动均值的熊猫文档。价格(小心丢失开始和/或结束边的平滑值!)]。(d)CMA-5平滑可以变成forecastingmethodtodoone-stepaheadforecasting如下使用此预测方法预测(a)时间序列中的最后四个月(即我们假设我们在进行预测时不知道它们)。为任务编写您自己的Python程序。(e)对于给定的时间序列,使用CMA-5预测方法可能不太准确。然而,对于(a)中的时间序列,您可以通过使用线性回归寻求定义为的预测方法。对于(a)中给定的时间序列,制定最小二乘线性回归问题并编写Python程序来实现计算权重的回归任务。您可以使用(a)时间序列中除最后四个月以外的所有数据。使用新学习的权重,对最后四个月进行一步预测。提示:给定特殊条件4=1on2019S1QBUS6840作业1,你可以设计你的回归问题,使得只有4个权重(例如,要解决编辑。考虑在这种情况下训练数据应该是什么。(f)报告(d)和(e)中方法的尺度相关度量均方根误差(RMSE)和平均绝对误差(MAE)[预测价格和真实价格。][25分]考虑数据集plastic.csv,其中包含塑料制造商产品A的月销售额(以千计)五年。(a)绘制产品A销售额的时间序列。分析和识别季节性波动和/还是趋势周期?(b)编写自己的Python程序来实现经典的乘法分解来计算趋势周期和季节性指数。讨论结果是否支持(a)部分的图形解释。(c)计算和绘制经季节性调整的数据。(d)将一个观察值更改为大纲(例如,将500添加到一个观察值),并重新计算经季节性调整的数据。异常值的影响是什么?(e)使用分解sitionforforecasting,为trend-cycle组件建立一个回归模型,然后使用这个trend-cycle组件和其他组件做三个预测(提前一步,提前两步和提前三步预测)。[20分]数据集Airline.csv是从1949年1月到1960年12月的月度国际航空公司乘客总数的著名时间序列。您需要使用以下任务中指定的相关模型或方法来预测接下来四个月的乘客数量:(a)绘制序列在您的Python程序中讨论数据的主要特征。(b)编写您自己的Python脚本以在Airline系列上实现Holt线性趋势法。您可以按照https://otexts.com/fpp2/holt....中的组件形式来定义一个至少接受三个参数的Python函数,即时间序列y、水平α的平滑参数和水平的平滑参数趋势β,并返回平滑的时间序列es。分别为????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和100betavalues,分别通过使用alphas=np.arange(0.01,1,0.01)betas=np.arange(0.01,1,0.01)Presentation请通过电子系统在Canvas上提交你的项目。要提交的作业材料将包含一份PDF或WORD文档,其中:i)详细说明所有步骤。ii)通过展示你的分析和计算来展示对预测相关原则的理解。2019S1QBUS6840作业1第5页,共5页iii)清楚并适当地展示程序中的任何相关表格、图形和屏幕转储(如果有的话)。iv)以单独的py文件形式提供您的程序代码(如果有)。您将被告知如何提交您的程序代码文件。迟交罚款该作业将于2019年4月12日星期五下午16:00到期。作业的迟交罚款是每天分配分数的5%,从截止日期的下午16:00开始.截止日期,2019年4月,16:00pm是接受评估打分的最后日期。WX:codehelp