數學建模——預測模型
擬合
擬合是最基本的預測方法 matlab中提供了polyfit/fit函數 用法示例:
x=[1.0, 1.5, 2.0, 2.5, 3.0];
y=[0.9, 1.7, 2.2, 2.6, 3.0];
a=polyfit(x,y,1) %對x y進行1階擬合 返回y=ax+b的 兩個係數
xi=1:0.1:3;
yi=polyval(a,xi); %將xi 帶入y=ax+b 得到yi
plot(x,y,o,xi,yi);
p=fittype(a*x+b*sin(x)+c);%以ax+bsin(x)+c形式擬合
f=fit(x,y,p)%求出a b c係數
MATLAB中還提供了 擬合工具箱 在命令行窗口輸入
cftool
即可調用
時間序列
預測對象按照時間順序排列而成的序列。
時序預測:根據時序過去的變化規律,推測今後的趨勢。
變化形式:
長期趨勢變動
季節變動
循環變動
不規則變動
模型:
加法模型、乘法模型、混合模型
處理方法:一次移動平均法
預測的標準誤差:
%近9月企業收入,求第10月收入
y = [533.8 574.6 606.9 649.8 705.1 772.0 816.4 892.7 963.9];
T = 9; N = 4;
c = cumsum(y); %累加
yhat = (c(N:end) - [0 c(1:end-N)])/N; %每4個數加和求平均
y10 = yhat(end)
S = norm(yhat(1:end-1)-y(N+1:end))/sqrt(T-N)
y10 =861.2500
S =143.0133
一次指數平滑法
一次差分指數平滑法
灰色預測
模型使用的不是原始數據,而是生成數據。
不需要太多的數據,一般只需要≥4個數據。
只適用於中短期預測,只適合指數增長的預測。
表示模型是一階微分方程,且只含一個變數。
原始序列
可行性檢驗條件
若不滿足可行性檢驗條件,則可做數據平移處理。
一次累加生成序列
均值生成序列
灰微分方程
白化微分方程
累了 不想寫了
推薦閱讀: