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