このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。
データ解析には,いくつかの標準要素があります。
前処理——可能なモデルを同定するために,外れ値,欠損値,平滑化したデータを考える。
まとめ - 全体的な位置,スケール,データの形状を记述する基本的な统计量を计算する。
可视化 - パターンと倾向を确认するために,データをプロットする。
モデリング - 新しい値の予测に适したデータ倾向を详しく记述する。
データ解析は,以下の2つの基本的な目的をもち,上记のことを行います。
正确な予测を行える単纯なモデルを用いてデータのパターンを记述する。
モデルを導く変数間の関係を理解する。
この節では,MATLAB®環境で基本的なデータ解析を行う方法を説明します。
この例では,解析データを前处理する方法を说明します。
概要
データを适切なMATLAB®コンテナー変数に読み込み “不适切な” データと “适切な” データを并べ替えることによりデータ解析を开始します。これは,解析のその后の过程で意味のある结果が得られることを保证するための准备の手顺です。
データの読み込み
はじめに,count.dat
のデータを読み込みます。
加载count.dat
24行3列の配列数数
は3つの交差点それぞれが各列に対応し,ある一日の1時間ごとの交通量を行に含みます。
欠損データ
MATLAB南
(非数值:数値ではない)の値は通常,欠损データを表すために使用されます。南
の値は欠损データのある変数が构造体(以下では,3つすべての交点で一致するインデックスをもつ24行1列のベクトル)を维持できるようにします。
关节isnan
を用いて,3つ目の交点におけるデータの南
値をチェックします。
C3 =计数(:,3);在交叉点3%数据c3NaNCount =总和(isnan (c3))
c3NaNCount = 0
isnan
は,C3
と同じサイズの逻辑ベクトルを出力します。このベクトルには,データ内の24要素のそれぞれについて,南
の値が存在するか(1
),または存在しない(0.
)かが記入されています。この場合、逻辑値の総和が0.
になるので,データに値南
はありません。
南
の値は「外れ値」の节でデータに导入されます。
外れ値
外れ値は,それ以外のデータとは傾向が著しく異なるデータ値です。外れ値は,測定誤差により発生したものである場合もあれば、データの重要な特徴を表している場合もあります。外れ値を特定し、それらをどのように取り扱うかは、データとその原因を理解してから決めます。
外れ値を特定するための一般的な方法の1つは,平均 から一定数の標準偏差 分离れた値を探すことです。以下のコードは, と の場合の のラインと共に,3つ目の交差点でのデータのヒストグラムをプロットします。
H =直方图(c3,10);%直方图N = max (h.Values);%最大的箱数mu3 =意味着(c3);%数据平均sigma3 = STD(C3);数据标准差抓住在情节([mu3 mu3], [0 N],'r'那“线宽”,2)%的意思X = repmat (mu3 + (1:2) * sigma3 2 1);Y = repmat ([0; N], 1, 2);情节(X, Y,'颜色',[255 153 51] ./ 255,“线宽”,2)%标准差传奇('数据'那'意思'那“性病”)举行离开
このプロットから,いくつかのデータが平均を标准偏差の2倍を超えて离れていることがわかります。これらのデータを(特徴としてではなく)误差として扱う场合は,これらを以下のように値南
で置き换えます。
离群值=(C3 - MU3)> 2 * sigma3;C3M = C3;复制c3到c3mc3m (outliers) =南;%添加NaN值
平滑化とフィルター処理
3つ目の交点でのデータ(「外れ値」で除かれた外れ値をもつ)の时系列プロットは,以下のようになります。
图(C3M,“邻”)举行在
20时间での南
の値は,プロットにおいてギャップとして现れます。この南
値の処理は,MATLABのプロット関数の特徴です。
ノイズのあるデータは,期待値がランダムに変动します。モデルを构筑する前に,データの主な特徴を明らかにするためにデータを平滑化することをお勧めします。平滑化する际には,2つの基本的な仮定をします。
- 予测変数(时间)と応答(交通量)の关系が滑らかである。
- 平滑化アルゴリズムによってノイズが减少するため,推定される期待値が改善される。
MATLAB关数convn
を用いて,単純移動平均平滑化をこのデータに適用します。
跨度= 3;平均窗的大小%窗口=酮(跨度,1)/跨度;smoothed_c3m = CONVN(C3M,窗口,“相同”);h =情节(smoothed_c3m,“滚装”);传奇('数据'那“平滑后的数据”)
平滑化の範囲は,変数跨度
を用いて制御します。平均化の計算では,平滑化ウィンドウがデータに値南
を含むときは,値南
を返すので,平滑化データのギャップのサイズが増加します。
关节筛选
もデータを平滑化するために使用されます。
smoothed2_c3m =过滤器(窗口、1 c3m);删除(h)情节(smoothed2_c3m“滚装”那“DisplayName的”那“平滑后的数据”);
平滑化データは,以前のプロットからシフトします。“相同”
パラメーターを用いたconvn
は,データと同じ长さでたたみ込みの中央部分を出力します。筛选
は,データと同じ長さでたたみ込みの初期部分を出力します。それ以外には,アルゴリズムは同じです。
平滑化は,予測の各値において応答値の分布の中心を推定します。このため,多くの近似アルゴリズムの基本的な仮定,“予測の各値での誤差は独立であること”が無効になります。したがって,モデルを“同定“するためには平滑化されたデータを使用しますが,モデルを“近”似するために平滑化されたデータを使用することは避けます。
この例では,データをまとめる方法を说明します。
概要
多くのMATLAB®関数によって,全体的な位置,スケール,データサンプルの形状を把握することができます。
MATLAB®の优れた机能の1つは,关数によって1つのスカラー値だけではなくデータ配列全体を操作できることです。このことは,关数が“ベクトル化” されているといわれます。ベクトル化によって,配列データを用いて效率的に问题を表すことや,ベクトル化された统计关数を用いた效率的な计算が可能になります。
位置の測度
”“標準的な値を見つけることによりデータサンプルの位置を把握します。位置または”中心傾向“の通常の計測は,関数意思
那中位数
および模式
により计算されます。
加载count.datX1 =平均(计)
X1 =1×332.0000 46.5417 65.5833
x2 =平均(数)
X2 =1×323.5000 36.0000 39.0000
X3 =模式(计数)
X3 =1×311 9 9
他の統計関数と同様に,上記のMATLAB®関数は変数を列に保持しながら,観測値ごとにデータを行にまとめます。関数は3つの交差点それぞれでのデータの位置を1回の呼び出しで計算します。
スケールの尺度
データサンプルのスケールまたは”ばらつき”を測定する多くの方法があります。MATLAB®関数最大限度
那最小值
那性病
およびvar.
はいくつかの一般的な测定値を计算します。
DX1 = MAX(计数)-min(计数)
DX1 =1×3107 136 250
DX2 = STD(计数)
dx2 =1×325.3703 41.4057 68.0281
DX3 = VAR(计数)
DX3 =1×3103.× 0.6437 1.7144 4.6278
他の统计关数と同様に,上记のMATLAB®关数は変数を列に保持しながら,観测値ごとにデータを行にまとめます。关数は,3つの交差点それぞれでのデータのスケールを1回の呼び出しで计算します。
分布の形状
分布の形状は,分布の位置またはスケールに比べて说明し难いです.MATLAB®关数hist
のヒストグラムのプロットは,概要を视覚的に表します。
图HIST(计数)传奇(“十字路口1”那...《十字路口2》那...《十字路口3》)
パラメトリックモデルでは,分布の形状の解析的に把握できます。データ平均のパラメーターμ
をもつ指数分布は,交通量のデータに対する选択として适切です。
C1 =计数(:,1);在交叉点1%数据[bin_counts,bin_locations] = HIST(C1);bin_width = bin_locations(2) - bin_locations(1);hist_area =(bin_width)*(总和(bin_counts));图HIST(C1)保持在mu1 =意味着(c1);exp_pdf = @ (t) (1 / mu1) * exp (- t / mu1);%集成%至1t = 0:150;y = exp_pdf (t);情节(t, (hist_area) * y,'r'那“线宽”2)传说(“分布”那“指数符合”)
一般のパラメトリックモデルをデータ分布に近似する方法は,この節では取り扱いません。统计和机器学习工具箱™ソフトウェアでは,分布パラメーターの最尤推定値を計算する関数が提供されています。
データのパターンと倾向を可视化するために,多くの种类のMATLABグラフを利用できます。この节で述べる散布図によって,异なる交差点での交通量データの关系を可视化できます。データ探索ツールによって,グラフ上の个々のデータ点を参照したり,対话形式での操作が行えます。
メモ
この节では,データのまとめのデータ解析を続けます。
关节分散
で作成される2次元散布図は,最初の2つの交差点における交通量の关系を说明します。
加载count.datC1 =计数(:,1);在交叉点1%数据C2 =计数(:,2);在交叉的2%的数据图散射(C1,C2,'填充')包含(“十字路口1”) ylabel (《十字路口2》)
关节COV.
で計算される“共分散”は2変数間の線形関係の強さを測定します。散布図から最小二乗線に沿ってデータがどれほど密にあるかを評価します。
C12 = COV([C1 C2])
C12 =2×2103.×0.6437 0.9802 0.9802 1.7144
结果は,対称正方行列として表示されます。(I,J)番目の位置の要素は,我番目の変数とĴ番目の変数の共分散です.I番目の対角要素は,我番目の変数の分散です。
共分散は,個々の変数の測定に用いる単位に依存するという不都合があります。共分散の値は,変数の標準偏差で除算することで+ 1と1の間に正規化できます。关节corrcoef
では“相関係数”を計算します。
R12 = corrcoef([C1 C2])
R12 =2×20.9331 1.0000
R12 = R12(1,2)%相关系数
R12 = 0.9331
r12sq = r12 ^ 2%确定的系数
r12sq = 0.8707
相关系数の値は正规化されているので,交差点の他の组の値と容易に比较できます。相关系数の二乘である“决定系数” は,最小二乘ラインからの変动を平均からの変动で除算したものです。したがって,决定系数は応答(この场合,交差点2の交通量)における変动の部分であり,散布図から削除されるか,または最小二乘ラインによって统计的に说明されます。
关节scatter3
で作成される3次元散布図は,3つの交差点すべてにおける交通量间の关系を示します。前の手顺で作成した変数C1.
那C2
那C3
を使用します。
Figure c3 = count(:,3);在交叉点3%数据scatter3(C1,C2,C3,'填充')包含(“十字路口1”) ylabel (《十字路口2》)zlabel(《十字路口3》)
关节eig.
で共分散行列の固有値を计算することにより,3次元散布の変数间の线形关系の强さを测定します。
瓦尔= EIG(COV([C1 C2 C3]))
var =3×1103.× 0.0442 0.1118 6.8300
解释= MAX(乏)/ SUM(乏)
解释= 0.9777
固有値は,データの“主成分“の分散です。変数解释
は,データの軸に沿った,第1主成分によって説明される変動の割合を測ります。2次元散布に対する決定係数とは異なり、この尺度では予測変数と応答変数が区別されます。
关节plotmatrix
を使用して,交差点の複数の組間の関係を比較します。
图plotmatrix(计数)
配列の(I,J)番目の位置のプロットは,垂直轴上の我番目と水平轴上のĴ番目の変数の散布図です.I番目の対角位置のプロットは,我番目の変数のヒストグラムです。
ほとんどのMATLABグラフの観测値は,图ツールバーの2つのツールを利用してマウスで选択できます。
データカーソル
データのブラシ選択
これらの各ツールはどれも探查モードでの利用となり,そこでグラフ上のデータ点を选択して値を确认したり,特定の観测値を含むワークスペース変数を作成したりできます。データのブラシ选択を使った场合,选択した観测値のコピー,削除または置き换えも可能です。
たとえば,数数
の第1列と第3列の散布図を作成します。
负载count.dat散射(计数(:,1),计数(:,3))
既定の設定では,データヒントにはx座標,y座標およびz座標(3次元プロットの場合)が表示されます。あるデータ点から他のデータ点にデータをドラッグして新規の値を見るか,データを右クリックしてコンテキストメニューを利用して,データヒントを追加します。MATLABコードを使用して,データヒントで表示するテキストをカスタマイズすることもできます。
“データのブラシ选択”は,クリックまたはドラッグによって,グラフ上の1つまたは複数の観測値を強調表示できるようにした関連機能です。データのブラシ選択モードに入るには,图ツールバーで,[データのブラシ選択]ツールの左侧をクリックします。ツールアイコンの右侧の矢印をクリックすると,観测値のカラーを选択するためのドロップダウンのカラーパレットが开きます。次の图は前の图と同じ散布図ですが,标准偏差を超えるすべての観测値([ツール]那[データの统计]GUIにより特定)が赤でブラシ选択されています。
散射(计数(:,1),计数(:,3))
データの観测値をブラシ选択した后,次の操作を実行できます。
データの観测の削除
データの観測を定数値で置き換え
データの観测をNaN的値で置き换え
データの観测を,コマンドウィンドウにドラッグ,コピー,贴り付け
データの観测をワークスペース変数として保存
たとえば,データのブラシ选択のコンテキストメニューまたは[ツール]那[ブラシ选択]那[新规変数の作成]オプションを使用して,count13high
と呼ばれる新しい変数を作成します。
ワークスペースの新しい変数は,次のようになります。
count13high count13high = 61 186 75 180 114 257
“リンク付きプロット”または“データリンク”は,データのブラシ選択に関連する機能です。プロットは,プロットが描くワークスペースデータに応答する接続をもつ場合に,リンクしているといわれます。オブジェクトのxdata.
那YData
(必要に応じてZData
)に保存された変数のコピーは,これらがリンクしているワークスペース変数が変更または削除されると自动的に更新されます。そのため,これらの変数を表示しているグラフが自动的に更新されます。
変数にプロットをリンクすると,さまざまな表示で特定の観测値をトラックできます。リンクされたプロットのデータ点をブラシ选択する场合,1つのグラフでブラシ选択すると,同じ変数にリンクしている各グラフ上の同じ観测値が强调表示されます。
データリンクは,変数エディターがワークスペース変数とやりとりするのと同じように,图とワークスペース変数の2方向の直接のやりとりを確立します。图のツールバー上にあるデータリンクツールをアクティブにしてリンクを作成します。このツールをアクティブにすると,次の図に示すリンクプロットのメッセージバー(おそらくタイトルは非表示)がプロットの上部に表示されます。プロットとリンク解除せずに(以下の図に示す)メッセージバーを非表示にできます。この場合,メッセージバーは表示されず,图と共に保存されません。
以下の2つのグラフは,左のグラフのいくつかの観測値をブラシ選択した後,リンクしたデータの散布図を表します。共通の変数数数
は,右の图にブラシ選択のマークを置きます。右のグラフは,データのブラシ選択モードではなくても,その変数にリンクしているのでブラシ選択のマークを表示します。
图散射(计数(:,1),计数(:,2))xlabel( '计数(:,1)')ylabel( '计数(:,2)')图散射(计数(:,3),计数(:,2))xlabel( '计数(:,3)')ylabel( '计数(:,2)')
|
|
右のプロットは,ブラシ选択された観测値が左のプロットに比べてより直线的な并びであることを示しています。
ブラシ选択されたデータ観测値は,次に示すように,変数エディターにこれらの変数を表示すると,ブラシカラーで强调表示されます。
openvar计数
変数エディターにおいて,リンクしたプロットデータの任意の値を変更でき,グラフが編集結果を反映します。変数エディターからデータ観測値をブラシ選択するには,[ブラシ選択ツール]ボタンをクリックします。ブラシ選択した変数がリンクプロットに現在描かれている場合には,ブラシ選択した観測値は変数エディター同様,プロットでも強調表示されます。行列の列である変数をブラシ選択すると,その行内のその他の列もブラシ選択されます。つまり,行ベクトルまたは列ベクトル内の個々の観測値のブラシ選択はできますが,クリックした観測値だけでなく,行列内のすべての列がブラシ選択行で強調表示になります。
パラメトリックモデルは,データの关系について理解した内容を予测能力をもつ解析ツールへと変换します。トラフィックデータの上升または下降トレンドに対して,単纯に多项式モデルまたは正弦波モデルを选択します。
关节Polyfit.
を使用して多项式モデルの系数を推定し,次に,关数polyval
を使用して予測子の任意の値でモデルを評価します。
次のコードは,6次の多项式モデルで3つ目の交点でのトラフィックデータを近似します。
加载count.datC3 =计数(:,3);在交叉点3%数据TDATA =(1:24)';p_coeffs = polyfit(TDATA,c3,6);图图(C3,“邻”)举行在tfit = (1:0.01:24) ';yfit = polyval(p_coeffs,tfit);图(tfit,yfit,'R-'那“线宽”2)传说('数据'那“多项式拟合”那“位置”那“西北”)
このモデルは,単纯ながら上下のトレンドに追従する利点があります。ただし,特にデータの両端など,予测能力の精度には疑问があります。
データには12時間の周期があり,7時付近にピークがあることを仮定すると,次の形の正弦波モデルで近似するのが適切です。
係数一种とB.は直线的に表示されます.MATLAB®mldivide
(バックスラッシュ)演算子を使用して一般的な线形モデルへ近似します。
加载count.datC3 =计数(:,3);在交叉点3%数据TDATA =(1:24)';X = [酮(大小(TDATA))COS((2 * PI / 12)*(TDATA-7))];s_coeffs = X \ C3;图图(C3,“邻”)举行在tfit = (1:0.01:24) ';yfit =[(大小(tfit)因为((2 *π/ 12)* (tfit-7))) * s_coeffs;图(tfit,yfit,'R-'那“线宽”2)传说('数据'那“正弦飞度”那“位置”那“西北”)
关节lscov
を使用して,系数の推定标准误差や平均二乘误差など,近似の统计値を计算します。
[s_coeffs,stdx,MSE] = lscov(X,C3)
s_coeffs =2×165.5833 - 73.2819
stdx =2×18.9185 - 12.6127
MSE = 1.9090e + 03
データの12时间间隔の仮定を,关数FFT.
を使用して计算した“ピリオドグラム” によって确认します。
FS = 1;%采样频率(每小时)N =长度(C3);%窗口长度Y = fft (c3);数据的DFT%F =(0:N-1)*(FS / N);%频率范围P = Y *连词(Y) / n;DFT的功率%图绘制(f P)包含('频率') ylabel ('力量')
predicted_f = 1/12
predicted_f = 0.0833
0.0833
に近いピークは仮定を里付けていますが,これはわずかに高い周波数で発生しています。これに応じて,モデルを调整することができます。
convn
|corrcoef
|COV.
|eig.
|FFT.
|筛选
|直方图
|isnan
|lscov
|最大限度
|意思
|中位数
|最小值
|mldivide
|模式
|plotmatrix
|Polyfit.
|polyval
|分散
|scatter3
|性病
|var.