原标题:优化模型matlab,优化模型的建模过程和方法
导读:
Intro...
用matlab建立经济学模型并进行数值模拟
我这里有一个比较简单的案例:
财政收入预测问题:首先要知道影响财政收入的一些主要因素有哪些,我们可以分为:国民收入、工业生产总值、总人口、就业人口、固定资产投资等因素,我们只要求列出主要的,下面我们对其进行回归分析数据如下:(从左至右排序)
年份国民收入(亿元)工业总产值(亿元)农业总产值(亿元)
总人口(万人)就业人口(万人)固定资产投资(亿元)财政收入(亿元)
1952 598 349 461 57482 20729 44 184
1953 586 455 175 58796 21364 89 216
1954 707 520 491 60266 21832 97 248
1955 737 558 529 61465 22328 98 254
1956 825 715 556 62828 23018 150 268
837 798 575 64653 23711 139 286
1028 1235 598 65994 26600 256 357
1114 1681 509 67207 26173 338 444
1079 1870 444 66207 25880 380 506
757 1156 434 65859 25590 138 271
677 964 461 67295 25110 66 230
779 1046 514 69172 26640 85 266
943 1250 584 70499 27736 129 323
1152 1581 632 72538 28670 175 393
1322 1911 687 74542 29805 212 466
1249 1647 697 76368 30814 156 352
1187 1565 680 78534 31915 127 303
1372 2101 688 80671 33225 207 447
1638 1747 676 82992 34432 312 564
1780 3156 790 85229 35620 355 638
1833 3365 789 87177 35854 354 658
1978 3684 855 89211 36652 374 691
1993 3696 891 90859 37369 393 655
2121 4254 932 92421 38168 462 692
2052 4309 955 93717 38834 443 657
2189 4925 971 94974 39377 454 732
2475 5590 1058 96259 39856 550 922
2702 6065 1150 97542 40581 564 890
2791 6592 1194 98705 41896 568 826
2927 6862 1273 100072 43280 496 810
年份你自己输入,朋友记住:年份至1956我就没有输入了,你要看懂数据先,1956后面的只有七组,而前面的有八组,在这里不能插入表格,抱歉,只需往后面退一格就好了,在就按照顺序输入就行,我已经输很多了,眼睛都花了……..
我们设国民收入、工业总产值、农业总产值、总人口、就业人口、固定资产投资分别为x1,x2,x3,x4,x5,x6,财政收入为y,设他们之间的关系为:
y=a*x1+b* x2+c* x3+d* x4+e* x5+f* x6
使用非线性回归方法求解:
(1)对回归模型建立M文件model.m如下:
Fuction yy=model(beta0,x)
a=beta0(1);
b=beta0(2);
c=beta0(3);
d=beta0(4);
e=beta0(5);
f=beta0(6);
x1=x(:,1);
x2=x(:,1);
x3=x(:,1);
x4=x(:,1);
x5=x(:,1);
x6=x(:,1);
yy= a*x1+b* x2+c* x3+d* x4+e* x5+f* x6;
主程序如下shuju.m
x=[598 349 461 57482 20729 44 586 455 175 58796 21364 89 707 520 491 60266 21832 97
737 558 529 61465 22328 98
825 715 556 62828 23018 150
837 798 575 64653 23711 139
1028 1235 598 65994 26600 256
1114 1681 509 67207 26173 338
1079 1870 444 66207 25880 380
757 1156 434 65859 25590 138
677 964 461 67295 25110 66
779 1046 514 69172 26640 85
943 1250 584 70499 27736 129
1152 1581 632 72538 28670 175
1322 1911 687 74542 29805 212
1249 1647 697 76368 30814 156
1187 1565 680 78534 31915 127
1372 2101 688 80671 33225 207
1638 1747 676 82992 34432 312
1780 3156 790 85229 35620 355
1833 3365 789 87177 35854 354
1978 3684 855 89211 36652 374
1993 3696 891 90859 37369 393
2121 4254 932 92421 38168 462
2052 4309 955 93717 38834 443
2189 4925 971 94974 39377 454
2475 5590 1058 96259 39856 550
2702 6065 1150 97542 40581 564
2791 6592 1194 98705 41896 568
2927 6862 1273 100072 43280 496];
y=[184 216 248 254 268 286 357 444 506 271 230 266 323 393 466 352 303 447 564 638 658 691 655 692 657 732 922 890 826 810]’;
beta0=[0.5-0.03-0.60 0.01-0.02 0.35];
betafit=nlinfit(x,y,’model’,beta0)
结果为:betafit=
0.5243
-0.0294
-0.6304
0.0112
-0.0230
0.3658
即:y=0.5243x1-0.0294x2-0.6304x3+0.0112x4-0.0230x5+0.3658x6
做了好久,希望能帮助你,希望大家文明上网,不要随便骂人,呵呵!
用matlab工具箱怎么对garch模型做预测
对garch模型做预测可以用matlab自带的garchfit()函数,该函数主要用于估计ARMAX/ GARCH模型参数。
garchfit()函数使用格式:
[Coeff,Errors,LLF,Innovations,Sigmas,Summary]= garchfit(Spec,Series,X)
Coeff——输入参数。接受由garchset,garchget,garchsim,garchinfer,和garchpred结构产生的参数。
Errors——系数的估计误差(即标准误差)的结构。
LLF——对于优化目标函数值与参数相关的估计发现Coeff。garchfit执行优化使用优化工具箱fmincon函数。
Innovations——创建(即残差)序列推导的时间序列列向量。
Sigmas——与创建相对应的条件标准偏差向量。
Summary——显示优化过程的摘要信息结构。
Spec——包含条件均值和方差规范的GARCH规范结构。它还包含估计所需的优化参数。通过调用garchset创建这个结构。
Series——观测的时间序列列向量。
X——观测数据的时间序列回归矩阵。
例如:
clc
spec= garchset('C',0,'K',0.0001,'GARCH',0.9,'ARCH',0.05);%指定模型的结构
[e,s,y]= garchsim(spec,1000);
[Coeff,Errors,LLF,Innovations,Sigmas,Summary]= garchfit(spec,y)%拟合参数
运行后得到的部分结果