Main Content

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

自己回帰モデルによる潮汐深度データの近似

この例では、ThingSpeak™ チャネルのデータを自己回帰 (AR) モデルで近似し、回帰パラメーターをそれらの不確かさと共に計算する方法を説明します。自己回帰モデルは、本質的に時間に依存するプロセスを表すために使用されます。

メモ

この例を実行するには、System Identification Toolbox を使用するライセンスの与えられた MathWorks アカウントにログインしていなければなりません。

オックウェイ湾のリアルタイム潮汐ゲージからのデータの読み取り

ThingSpeak のチャネル 50289 には、オックウェイ湾の潮汐深度に関するデータが含まれています。データは 5 分ごとに収集されます。チャネルの Field 1 には潮汐深度のデータが含まれています。

関数 thingSpeakRead を使用して、特定の日 (たとえば、2016 年 7 月 1 日) のデータをチャネル 50289 から読み取ります。

startDate = datetime(2016,07,01,0,0,0);
endDate = datetime(2016,07,02,0,0,0);
dateRange = startDate:endDate;
data = thingSpeakRead(50289,'DateRange',dateRange,'Fields',1);

AR モデルによるデータの近似

関数 iddata を使用して、潮汐深度データの iddata オブジェクトを作成します。潮汐データはゼロ平均ではないため、データがゼロ平均になるようにデータのトレンド除去を行います。潮汐深度は時間と共に変化するため、関数 ar を使用して、離散時間の自己回帰モデルでデータを近似します。関数 getpvec を使用して、推定したパラメーターを、それらの不確かさと共に表示します。

sampleTime = 5;
IDdata = iddata(data,[],sampleTime,'OutputName',{'Tidal Depth'},'TimeUnit','minutes')
IDdata =

Time domain data set with 288 samples.
Sample time: 5 minutes                 
                                       
Outputs           Unit (if specified)  
   Tidal Depth 
% Detrend the data to zero mean
IDdata = detrend(IDdata,0);
modelOrder = 8;
% Fit an AR model to represent the system
sys = ar(IDdata,modelOrder)
sys =
Discrete-time AR model:  A(z)y(t) = e(t)                                                                                 
                                                                                                                         
  A(z) = 1 - 1.138 z^-1 - 0.1633 z^-2 + 0.1996 z^-3 + 0.2684 z^-4 - 0.4165 z^-5 + 0.1748 z^-6 - 0.1706 z^-7 + 0.2526 z^-8
                                                                                                                         
Sample time: 5 minutes
  
Parameterization:
   Polynomial orders:   na=8
   Number of free coefficients: 8
   Use "polydata", "getpvec", "getcov" for parameters and their uncertainties.

Status:                                                    
Estimated using AR ('fb/now') on time domain data "IDdata".
Fit to estimation data: 98.5% ( focus)                     
FPE: 0.04758, MSE: 0.04501 

この出力は、離散 AR モデル形式を、推定したモデル パラメーターと共に示しています。

% See the estimated model parameters and their uncertainties
[Parameters,Uncertainties] = getpvec(sys)
Parameters =

   -1.1380
   -0.1633
    0.1996
    0.2684
   -0.4165
    0.1748
   -0.1706
    0.2526


Uncertainties =

    0.0583
    0.0940
    0.0934
    0.0929
    0.0927
    0.0975
    0.0964
    0.0661 

この出力は、推定した AR モデル パラメーターと、推定したパラメーターの 1 標準偏差の値を示しています。

参考

関数