ARMA模型预测源代码_第1页
ARMA模型预测源代码_第2页
ARMA模型预测源代码_第3页
ARMA模型预测源代码_第4页
ARMA模型预测源代码_第5页
已阅读5页,还剩2页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、源代码导入数据及绘图代码:Private Sub Command1_CIick()On Error Resume Next1定义EXCEL类定义工件簿类定义工作表类Dim xlApp As ExceI. AppIicationDim xI Book As Excel. WorkbookDim xI sheet As Excel. WorksheetCommonD i a Iog1. CanceI Er ror = TrueCommonD i a I og1 .Dial ogT i 11 e =指定数据 Excel 表1,CommonD i a Iog1. In i tD i r = App.

2、PathCommonDia Iog1. ShowOpenSet xl App = CreateObject (Excel. App I i cat ion)创立 EXCEL 应 用类Set x I Book = xIApp. Workbooks. Open(CommonDiaIog1 .FileName)翻开Excel文档If Err ThenMsgBox ”未选择数据文件,无法导入,0,“提示”Exit SubElsexIApp. Visible = False 不可见Set x I sheet = x I Book. Worksheets (1),翻开 sheetl 工作表MsgBox ”

3、已成功导入数据“,0, ”提示“qq = qq + (y(i) - y1 - y(i - 1) + y1 (i - D)- 2Next iFor i = 2 To 60qq1 = qq1 + (y(i) - y1 (i)八 2Next idw = qq / qq1I = -(59 / 2) * (Log(2 * 3.1415926) + 1 + Log(ssr / 59)aic = -2 * I / 59 + 2 / 59sc = -2 * I / 59 + 1 * Log (59) / 59Dim gg As DoubIeFor i = 2 To 60gg 二 gg + (x(i) - xa

4、ver)- 2Next ibstd = (ser 人 2) / (sst - ssr)- 0.5tb = b / bstdForml. CisForml. Scale (-4, 30000)-(72, 2000)Forml.Line (68, 3400)-(0, 3400)Forml.Line (0, 29000)-(0, 3000)CurrentX = 70: CurrentY = 3500: Print XCurrentX = 2: CurrentY = 28000: Print YFor i = 2 To 59Forml. Line (i, y(i)-(i + 1, y(i + 1),

5、vbGreenForml. Line (i, y1 (i)-(i + 1, y1 (i + 1), vbRed Next iEnd SubEnd IfDim iFor i = 1 To 60y (i) = xlsheet. Cel Is(i, 1)Next iFor i = 2 To 60 x(i) = y(i - 1)Next i xI Book. SaveActiveWorkbook. CIosex I Book. 01 ose (True)xlApp. QuitSet xlApp = NothingShe I I ”cmd. exe/c taskkiI I/f/im exceI. exe

6、Forml. DrawWidth = 6Forml. CisForml. Scale (-4, 30000)-(72, 2000)Forml.Line (68, 3400)-(0, 3400)Forml.Line (0, 29000)-(0, 3000)CurrentX = 70: CurrentY = 3500: Print XCurrentX = 2: CurrentY = 28000: Print YFor i = 2 To 59Forml. Line (i, y(i)-(i + 1, y (i + 1), vbGreenNext iEnd Sub回归结果代码:Private Sub C

7、ommand 1_CI ick()Dim xsum As Double, ysum As DoubIeFor i = 2 To 60 xsum = xsum + x(i)ysum = ysum + y(i)Next i xaver = xsum / 59yaver = ysum / 59Dim yy1 As DoubIeFor i = 2 To 60 yy1 = yy1 + (y(i) - yaver) 2Next i ystd = (yy1 / 58)人 0. 5Dim xymu11i As Double, xx As DoubIeFor i = 2 To 60 xymu11i = xymu

8、11i + x(i) * y(i)xx = xx + x(i)- 2Next i b = xymu11 i / xxFor i = 2 To 60y1 (i) = b * x(i)Next iFor i = 2 To 60sst = sst + (y(i) - yaver)人 2Next iFor i = 2 To 60ssrssrssr + (y(i) - b * x(i)Next isse = sst - ssrr2 = sse / sstadr2 = 1 - (59 / 58) * (ssr / sst)ser = (ssr - 2) / (59 - 1)- 0.5Dim qq As D

9、oubIe9 qq1 As DoubIeFor i = 3 To 60qq = qq + (y(i) - y1 (i) - y(i - 1) + y1 (i - D)- 2Next iFor i = 2 To 60qq1 = qq1 + (y(i) - y1 (i)八 2Next idw = qq / qq1I = -(59 / 2) * (Log(2 * 3.1415926) + 1 + Log(ssr / 59)aic = -2 * I / 59 + 2 / 59sc = -2 * I / 59 + 1 * Log (59) / 59Dim gg As DoubIeFor i = 2 To

10、 60gg = gg + (x(i) - xaver)人 2Next ibstd = (ser - 2) / (sst - ssr)八 0.5tb = b / bstdPrint Spc(45); 线性回归结果”PrintPrintPrint Spc(1) ; variable1 + Space(7) + coffcient11 + Space(13) + std. error + Space(18) + ut-statistic1 + Space (16); prob.Print Spc(3); AR1, Spc(3); Format(b, 0. 000); Spc(16); 0. 0040

11、71, Spc (10); 254. 6147, Spc (8); 0. 0000PrintVIPrintIIPrint Spc(3); R-squared11; Spc(19); r2; Spc(7); meandependent varn; Spc (12); yaverPrint Spc(3); Adjusted R-squared1; Spc(10); adr2; Spc(8);s.d. dependent var; Spc(10); ystdPrint Spc (3); S. E. of regress ion1,; Spc (11); ser; Spc (7);Akaike inf

12、o criterion; Spc(9); aicPrint Spc (3); nsum squared resid; Spc (12); ssr - 2; Spc (7);Schwarz cr iter ion; Spc (11); scPrint Spc(3); log Iikehood; Spc(17); I; Spc(7); DurbinWatson stat”; Spc(10); dwPrintPrintPrintPrint Spc (20);回归方程式:Y=; Format (b, 0. 000);End Sub预测结果比照代码:Private Sub Command2_CIick(

13、)Dim xsum As Double, ysum As DoubIeFor i = 2 To 60 xsum = xsum + x(i)ysum = ysum + y(i)Next i xaver = xsum / 59yaver = ysum / 59Dim yy1 As DoubIeFor i = 2 To 60yy1 = yy1 + (y(i) - yaver) 2Next i ystd = (yy1 / 58)- 0.5Dim xymu11i As DoubIe9 xx As DoubIeFor i = 2 To 60 xymu11i = xymu11i + x(i) * y(i)xx = xx + x(i)- 2Next i b = xymu11 i / xxFor i = 2 To 60y1 (i) = b * x(i)Next iFor i = 2 To 60sst = sst + (y(i)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论