matlab对经济指标分析,经济背景下的数据预测分析--基于matlab建模(郑铿城)
1、經濟預測概述
經濟預測有三個要素,實際資料是預測的依據;經濟理論是預測的基礎;數學模型是預測的手段;
經濟預測的內容包括生產和資源預測,市場預測,國民收入分配預測,居民生活質量預測等。
預測步驟:第一步確定預測目標,第二步收集和整理相關資料,第三步選擇預測方法,第四步建立預測模型,第五步評價預測模型,第六步利用模型進行預測并分析預測結果。
在進行經濟預測的時候,首先要學會對統計數據進行處理:
2、統計數據處理
example:
分析“工商銀行”、“建設銀行”和“中國銀行”三只股票的收盤價
>> A=[4.55 5.68 4.02
4.72 5.69 4.18
4.86 6.16 4.34
4.69 5.19 4.17
4.66 5.85 4.12];
>> [m,n]=size(A);
>> t=1:m;
>> x1=A(:,1);
>> x2=A(:,2);
>> x3=A(:,3);
>> plot(t,x1,'-ob',t,x2,'-+k',t,x3,'-^r')
>> legend('工商銀行','建設銀行','中國銀行')
>> xlabel('時間/天')
>> ylabel('收盤價/元')
3、異常點數據鑒別
在進行預測前,我們要對收集的數據進行鑒別,確定出一些異常的數據。
舉例:
尋找異常點,并進行剔除,異常點尋找的第一種方法是圖形觀察法:
example:
x=[57346.5 57997.61 58844.99 57691.64 58438.53
60259.53...
63040.51 72896.19 61949.81
60772.46 59075.97 58604.26];
plot(x,'o-')
xlabel('時間')
ylabel('貨幣供應量/億元')
運行得到圖片:
從圖片中可以看出第八個點的數據嚴重偏大,說明該點的數據不能反映我國2月的貨幣供應量的正常情況,從而視為異常值,要進行處理。
異常點鑒別的第二種方法:統計濾波法
該方法是利用已有的數據,確定數據允許變動的范圍,即上限和下限,凡是在這個范圍以外的數據就被認為是異常數據。該方法需要根據樣本容量來查k值表,確定k值。
假設有10個樣本數據,通過該方法來確定出異常點:
X=[31 34.5 34.3 24 30.8 31.8 32.1 36 42 35]
x=mean(X)
s=std(X)
p1=0.95
p2=0.99
n=10
k=4.43
yd=x-k*s
yu=x+k*s
a=find(Xyu)
z=X(a)
t=1:10
plot(t,X,'o-')
xlabel('序號')
ylabel('產品數量值')
在腳本中輸入上述代碼,通過運行得到圖片:
從圖片中可以看出,第4個點和第9個點與其他點的偏離程度較大,為異常點。(注:當樣本量為10,p1取0.95
p2取0.99的時候,k為4.43)
第三種尋找異常值的方法為拉依達準則,該準則是不適用與樣本個數小于10的情況,當樣本足夠大的時候,使用該準則會比統計濾波法算法更加簡單,取20個樣本做分析。
X=[31 34.5 34.3 24 30.8 31.8 32.1 36 42 35 37 34 36 34.2 36 28 33
31 35 33.8]
x=mean(X)
s=std(X)
a=find(abs(X-x)>3*s)
z=X(a)
t=1:20
plot(t,X,'o-')
xlabel('序號')
ylabel('產品數量值')
得到:
從圖片也可以看出4號和9號為異常點。
4、經濟數據預處理的方法:
剔除法、還原法、比例法等
剔除法是去掉那些不可以如實反映預測對象正常發展趨勢的數據,該方法常用于時間序列數據,但是具有破壞時間序列數據連續性的缺點。
還原法就是把數據處理成沒有突變因素影響時本應表現的數值。比如可以用異常數據前后兩期數據的算術平均值或者幾何平均值進行數據還原。
對于還原以后的數據組,可以使用corrcoef求數據間的相關系數,來觀察處理以后的結果。
example:
>> x=[14200.4 14474.2 14739.3 15236.4 14875 15307.1 15808.9
18098 17327.3 17746.7];
>> y=[15305.55 15236.30 16485.38 23886.98 17939.18 17894.10
20087.09 37075.11 22990.51 22699.63];
>> r=corrcoef(x,y)
得到結果:
r =
1.0000 ?0.8115
0.8115 ?1.0000
故在沒有處理數據之前,x和y的相關系數為0.8115
那么我們對y4數據和y8數據進行調整,利用的是還原法(算術平均值)
>> y4=(x(3)*y(3)+x(5)*y(5))/(2*x(4));
>> y8=(x(7)*y(7)+x(9)*y(9))/(2*x(8));
>> y(4)=y4;
>> y(8)=y8;
>> r1=corrcoef(x,y)
得到相關系數為:
r1 =
1.0000 ?0.8735
0.8735 ?1.0000
即:0.8735,通過還原法,使得處理以后的數據的相關性程度更強,再來構建模型,效果會更好。
5、數據初始化處理的方法:
歸一化法:
歸一化法是用來消除指標之間的量綱差異的方法,用指標樣本值除以該指標所有樣本數據之和即可。
MATLAB命令:Y=X./sum(X)
當然也可以把所有的數據分別除以x中的第一個數據
MATLAB命令:Y=X./X(1)
標準化法:
這個方法是目前普遍使用的無量綱化方法,用x值減去x的平均值,再除以標準差,通過標準化以后。指標的平均值就是為0,方差就是為1(概率論知識)
MATLAB命令:Y=(X-mean(X))./std(X)
一個比較合理的評價模型的方法,是在進行預測的時候,并不將所有用來估計參數的觀察值都用在預測上,而是將某些數據保留下不用,用于檢測得到的預測精度。
微信公眾號:LPstyle
QQ:1257992189(備注:軟件交流)
總結
以上是生活随笔為你收集整理的matlab对经济指标分析,经济背景下的数据预测分析--基于matlab建模(郑铿城)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: rust(39)-递归-阶乘与斐波那契数
- 下一篇: php 取消页面一些样式,jquery如