「.NET 開発基盤部会 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。
目次 †
概要 †
Excel。専用ツールではないので機能としては少ない。
詳細 †
インストレーション †
Excelのインストール
基本操作 †
...
初期化 †
Excelアドイン「ソルバー」を追加など。
データ読込 †
...
データの理解 †
データの準備 †
モデリング †
評価 †
...
展開 †
Excelを配れば良い?
手順(モデリング) †
- 散布図中の1つのプロット上で右クリックしメニューを表示し、
[近似曲線の追加]を選択し[近似曲線のオプション]で線形近似を選択、
- 続いて、
- [グラフに数式を表示する]と
- [グラフにR-2乗値を表示する]に
チェックを入れる。
- 外れ値は、外れ値のプロットを選択し右クリックして、
[データの吹き出しを追加]を選択しX, Y座標値を表示し、
座標値を確認して、今回の当該値を元データから削除する。
- [データ分析]から[回帰分析]を選択
- [入力Y範囲]と[入力X範囲]を指定して[OK]ボタンを押下。
- 推定値 :ロジスティック関数 p(z)
= 1 / (1 + 𝑒^−𝑧)
= 1 / (1 + EXP(-SUMPRODUCT(偏回帰係数の範囲, 説明変数の範囲)))
- 対数尤度 :
= (結果 * LN(推定値) ) + ( (1 - 結果) * LN(1 - 推定値) )
- 表外の項目に関しては以下。
- 逸脱度:対数尤度の合計 * -2
- (変数個の)偏回帰係数:初期値は0に設定しておく。
- 目的セル
- 「逸脱度」を選択する
- 目標の値を最小値にする(ような「偏回帰係数」を求める。
- 変化させるセルに「偏回帰係数」の範囲を選択する
- [解決]をクリックする
- はじめに属性毎に結果をクロス集計する。
- 実測値の表
- 列総計列を持つ
- 行総計行を持つ
- データの総計セルを持つ
- 自由度を算出する。
= (COUNTA(行要素名の範囲) - 1) * ((COUNTA(列要素名の範囲) - 1)
- P値(有意確率)を算出する。
以下のいずれかの方法で算出可能。
- = CHITEST (実測値の範囲, 期待度数値の範囲)
- = CHIDIST (SUM(X^2値の範囲), 自由度))
- P値が小さい(≒ X^2値の大きい)属性で分岐させ、
「分岐後のデータ群」に対し別々に上記の処理を繰り返し、木を成長させて行く。
- 事前に表を組んでおく(列追加)。
- 平均との差 := 標本の項目毎、平均値との差を算出。
- 平均との距離:= (平均との差1^2 + 平均との差2^2 + ...)^0.5
- 主成分得点 := SUMPRODUCT(固有ベクトルの範囲, 平均との差の範囲) / 固有ベクトルの和
- 実測値から新しい軸への垂線長の2乗(≒ 失われる情報量):= 平均との距離^2 - 主成分得点^2
- 表外の項目に関しては以下。
- 失われる情報量の合計値 := SUM(失われる情報量の範囲)
- (変数個の)分散 := VARP(標本の項目毎の範囲)
- 主成分得点の分散 := VARP(主成分得点の範囲)
- (変数個の)固有ベクトル:初期値は1に設定しておく。
- 固有ベクトルの和 := (固有ベクトル1^2 + 固有ベクトル2^2 + ...)^0.5
- 固有ベクトルの和の目標値:1
- 累積寄与率 := 主成分得点の分散 / SUM((変数個の)分散)
- [データ分析]から[ソルバー]を選択
- 目的セル
- 「失われる情報量の合計値」を選択する
- 目標の値を最小値にする(ような「固有ベクトル」を求める。
- 変化させるセルに「固有ベクトル」の範囲を選択する
- 制約条件の対象に「固有ベクトルの和 = 固有ベクトルの和の目標値」を指定。
- [解決]をクリックする
- 手順
① データを準備する。
② クラスタ数を指定する。
③ クラスタ初期値をランダムに計算する。
④ 各標本に計算したクラスタ値を指定する。
⑤ 各クラスタの中心を算出する。
⑥ 各標本と中心からの距離を算出する。
⑦ 各標本を最も近いクラスタに再分類する。
⑧ 再分類で変化のあった標本数を集計する。
⑨ 変化が収束するまで④~⑨を繰り返す。
- 数式の例(k平均法の場合)
- 重心 の計算:=AVERAGEIF(グループ値の範囲, 当該グループ番号, データの範囲)
- 距離 の計算:=SUMXMY2(データの範囲, 重心値の範囲)
- 再分類の計算:=MATCH(MIN(距離値の範囲), 距離値の範囲, 0)
※ 0は等しい最初の値を検索
- 最適なグループ数はエルボー法などで求める。
- クラスタ内距離二乗和:計算した距離の二乗した値をクラスタ毎に合計
- 上記を折れ線グラフにしたとき、肘の部分が最適なクラスタ数になる。
参考 †