Main Content

このページの翻訳は最新ではありませ。

今後の見通しについての時系列による予測および予想

この例では,時系列モデルを作成し,そのモデルを予測,予想および状態推定に使用する方法を示します。測定データは誘導炉のものであり、そのスロット サイズは時間の経過とともに摩損します。スロット サイズは直接には測定できませんが、炉の電流と消費電力が測定されます。スロット サイズが大きくなるほどスロットの抵抗は減ることがわかっています。したがって、測定電力に対する測定電流の二乗の比率はスロット サイズに比例します。測定電流と測定電力の比率 (電流と電力のいずれの測定値もノイズを含む) を使用して時系列モデルを作成し、そのモデルを使用して現在のスロット サイズの推定と今後のスロット サイズの予想を行います。物理的検査により、誘導炉のスロット サイズはいくつかの時点で把握されます。

测定测定データの読み込みとプロット

测定电视と测定电力の比率は,matlabファイルiddata_TimeSeriesPrediction4时隔测定れ,时间の経过とともにが大厦なって,炉のスロットが摩损てことが示されます。。まず,データを同定と検证セグメントににににに。

加载iddata_TimeSeriesPredictionn = numel(y); ns = floor(n/2); y_id = y(1:ns,:); y_v = y((ns+1:end),:); data_id = iddata(y_id, [], Ts,'TimeUnit''小时');data_v = iddata(y_v,[],ts,'TimeUnit''小时''tstart',ns + 1);plot(data_id,data_v)图例('识别数据''验证数据''地点''SouthEast');

モデルの同定

スロットの摩损は,ノイズ入力が测定测定と测定电力ののをとしてとと空ますとしてとして化できます测定としてとできます比率システムにに比例しし比率システムに比例ししはシステムに比例ししれシステム状态に比例しれ。

$ x_ {n + 1} = ax_n + ke_n $

$ y_n = cx_n + e_n $

ここで,$ x_n $は状態ベクトルであり、スロット サイズを含みます。$ y_n $は測定電流と測定電力の比率です。$e_n$のノイズと$A, C, K$は特价されます。

ssest()コマンドを使用して、測定データから離散状態空間モデルを同定します。

SYS.= ssest(data_id,1,'Ts'那Ts,'形式''典范'的)
SYS.= Discrete-time identified state-space model: x(t+Ts) = A x(t) + K e(t) y(t) = C x(t) + e(t) A = x1 x1 1.001 C = x1 y1 1 K = y1 x1 0.09465 Sample time: 1 hours Parameterization: CANONICAL form with indices: 1. Disturbance component: estimate Number of free coefficients: 2 Use "idssdata", "getpvec", "getcov" for parameters and their uncertainties. Status: Estimated using SSEST on time domain data "data_id". Fit to estimation data: 67.38% (prediction focus) FPE: 0.09575, MSE: 0.09348

同定されたモデルでは 1 ステップ先の予測が最小化されます。10 ステップ先の予測子を使用してモデルを検証します。すなわち、$y_0,...,y_n$が与えられた場合に、モデルを使用して$y_{n+10}$を予測します。測定値と予測値との間の誤差$ y_0- \ hat {y_0},...,y_n- \ hat {y_n} $$y_{n+10}$の予測に使用されることに注意してください。

同定データおよび別個の検証データに、10 ステップ先の予測子を使用します。

nstep = 10; compare(sys,data_id,nstep)10步预测对估计数据的百分比比较网格('在');

figure; compare(sys,data_v,nstep)验证数据的%比较网格('在');

上游においては,両方针データセットで子が测定ととしているががれていますいますますますいます。

さらにモデルを検証するために予想を使用します。予想では測定データの記録$y_0,y_1,...,y_n-\hat{y_n}$を使用して,タイム ステップ n でのモデルの状態を計算します。この値は、未来の時間範囲でのモデル応答を予想するための初期条件として使用されます。検証データの時間範囲にわたるモデル応答を予想したうえで、この 2 つを比較します。予想に伴う不確かさを計算して、その値の +/- 3 sd をプロットすることもできます。

测量数据= iddata(y,[],ts,'TimeUnit''小时');% = [data_id;data_v]t0 =测量模具.Samplinginstants;Horizo​​ n =尺寸(data_v,1);%预测地平线[YF,〜,〜,YFSD] =预测(SYS,DATA_ID,地平线);%注意:YF是IDDATA对象,而YFSD是双矢量t = yf.samplinginstants;% extract time samplesyfdata = yf.outputdata;% extract response as double vector绘图(测量模具)持有on绘图(t,yfdata,'r.-',t,yfdata + 3 * yfsd,'r--',t,yfdata-3 * yfsd,'r--'的)holdoff标题('Forecasted response over the validation data''s time span') 网格on

プロットでは,信息空间(赤の破破によるによるによる曲,検证データに対する测定値とラップことががれていい。电力の比率を表现ていることが示されれ

また,予想予想には,対象予想が长いモデルモデルのが大厦,実実目目目にににてべきであることも示されいいであることことますますいであるでことことますますいますますますますますますますますますますますますますますますますますますますますますますますますますますますますますますますますますますますますいますますますきくきくますますきくきくきくきくきくますいいいいますきくきくきくきくきくますますいいこときくきくきくきくきくきくきくきくきくきくきくきくきくますますきくことことこときくことますことことことこときくことことことであるであることことことことこときくきくことことますであるであるであるきくことももいべきべきであることこともにますべきであるであることことこといますべき就会时间にするのが妥当です。

最后に,モデルモデル使使し,将来の200ステップでのを502〜701时间の范囲予想します。

地平线= 200;%预测地平线[yFuture, ~, ~, yFutureSD] = forecast(sys, MeasuredData, Horizon); t = yFuture.SamplingInstants;% extract time samplesyfuturedata = yfuture.outputdata;% extract response as double vector绘图(T0,Y,......t,yfuturedata,'r.-'......t, yFutureData+3*yFutureSD,'r--'......t, yFutureData-3*yFutureSD,'r--'的)标题('预测回复(200步)') 网格on

青のの曲は,1〜501时间ののに测定曲は示してます测定のは,测定データの时空范囲超えたた破で予想れるは。たモデルの作品为抽出抽出基因た,予想される応答における3 sdの不成かさをています。

状态の推定

�変換して、今の場合であればスロット サイズとして意味をもたせることができます。

その任意の状态についての子を作物成しますされたモデルの共共共ははtranslatecov()コマンドを使用して予測子モデルに変換する必要があります。関数createpredictor()は、translatecov()で使用するするため,关联预测()の 3 番目の出力引数を単純に抽出します。

类型CreatePredictor.EST = Translatecov(@(s)createpredictor(s,data_id),sys)
function pred = createPredictor(mdl,data) %CREATEPREDICTOR Return 1-step ahead predictor. % % sys = createPredictor(mdl,data) % % Create a 1-step ahead predictor model sys for the specified model mdl % and measured data. The function is used by % |TimeSeriedPredictionExample| and the |translatecov()| command to % translate the identified model covariance to the predictor. % Copyright 2015 The MathWorks, Inc. [~,~,pred] = predict(mdl,data,1); est = Discrete-time identified state-space model: x(t+Ts) = A x(t) + B u(t) y(t) = C x(t) + D u(t) A = x1 x1 0.9064 B = y1 x1 0.09465 C = x1 y1 1 D = y1 y1 0 Sample time: 1 hours Parameterization: CANONICAL form with indices: 1. Feedthrough: none Disturbance component: none Number of free coefficients: 2 Use "idssdata", "getpvec", "getcov" for parameters and their uncertainties. Status: Created by direct construction or transformation. Not estimated.

モデルestは1ステップ先のの子,元のモデルSYS.とと同じ状态座标で表现されれれを,スロットサイズの実际の直接に测定値にます。これこれ,测定値を直接取得ためコストが高度,(コンポーネントを交换する际などなどれるにのみ行わようなな场な料,実际问题としてことではありません。

具体的には,$ y_n = cz_n $となるように、予測子の状態$ x_n $$ z_n $に変换します。ここここ,$ y_n $は测定电视とと电力の比率,$ z_n $はは炉のスロットサイズサイズこの例で,炉炉のスロットサイズのの直接sizeMeasuredを4つと,炉の电阻と电力の比率ysizemeasured.を使用して,$C$予测子の変换は,予测子の共でもする必要がありますこのため。translatecov()コマンドを使用して状態座標の変換を実行します。

cnew = sizemeasured \ ysizemeasured;EST = Translatecov(@(s)SS2SS(S,S.C / CNEW),EST)
est = Discrete-time identified state-space model: x(t+Ts) = A x(t) + B u(t) y(t) = C x(t) + D u(t) A = x1 x1 0.9064 B = y1 x1 0.9452 C = x1 y1 0.1001 D = y1 y1 0 Sample time: 1 hours Parameterization: CANONICAL form with indices: 1. Feedthrough: none Disturbance component: none Number of free coefficients: 2 Use "idssdata", "getpvec", "getcov" for parameters and their uncertainties. Status: Created by direct construction or transformation. Not estimated.

これで,予测子が望ましい状态でさされるようにましましたたシステム出出たたましましたシステム出出测定ましましまし比率比率比率ましまし比率比率比率比率比率比率が比率比率比率比率比率がががががががががが1)であるである力が1つ设けられてい。

opts = simOptions; opts.InitialCondition = sizeMeasured(1); U = iddata([],[data_id.Y; data_v.Y],Ts,'TimeUnit''小时');[ye,ye_sd,xe] = sim(est,U,opts);

〖图库“

yesdp = ye;yesdp.y = ye.y + 3 * ye_sd;是的,=你;yesdn.y = ye.y-3 * ye_sd;n = numel(xe);图,绘图([data_id; data_v],ye,yesdp,'G',是的,'G') 传奇('测量输出''估计产出''99.7% bound''地点''SouthEast') 网格('在')图,情节(Tsizemeasured,SizeMeasured,'r*',1:n,xe,1:n,yesdp.y / est.c,'G',1:n,yesdn.y / est.c,'G');legend('Measured state''Estimated state''99.7% bound''地点''SouthEast'的)xlabel('时间(小时)'的)ylabel('Amplitude');网格('在'的)

予测と予想を使使をし今后の见通し

予測子モデルと予想との組み合わせにより、誘導炉について今後の見通しを立てることができます。

予测子モデルで,测定データを基于のののサイズををできますますますできにに近い近いであればばそれ保守保守现代人用途

さらに,予测子と予想モデル,より多くのデータが入手可になると同定し直すことができますことができことができますます。のデータが蓄積されるとモデルを同定し直すことができます。

参考

||

关键词する