インターネットデパート - 取扱い商品数1000万点以上の通販サイト。送料無料商品も多数あります。

データ分析 ~ 多変量解析入門、はじめの半歩(R言語) ~:年代記3

価格: ¥0
カテゴリ: Kindle版
Amazon.co.jpで確認
相関係数、単回帰分析、重回帰分析、主成分分析を学習。
重回帰分析から行列(Matrix)の計算にRを利用。

本講座は多変量解析という難儀な道から、石ころを取り除いて歩きやすくしたものである(初心者用講義)。
しかし、学問の厳しさは石ころに有るのでは?ゆえに、本講座を受講したあとは必ず類書を読んでほしい。

*Rの入門講座ではないため、基本的にRの解説はない。

(学習用データ:要コピペ)
-単回帰分析
lunch,tea
20,50
10,30
30,90
35,70
10,20
15,15
25,30
5,10
10,20
20,40
30,50
-重回帰分析
lunch,sweets,tea
20,20,50
10,15,30
30,55,90
35,35,70
10,15,20
15,25,15
25,15,30
5,20,10
10,30,20
20,35,40
30,40,50
-主成分分析
suger,juicy,fragrance
75,56,48
73,55,62
75,56,41
83,66,47
76,64,48
80,70,56
77,59,52
85,64,56
78,64,52

(主成分分析)
-関数を利用
01|#csvデータ読み込み
02|data<-read.csv("data.csv",encoding="UTF-8",header=T )
03|
04|#関数実行
05|res <- prcomp( data , scale = T )
06|
07|print ( res )

-実装
01|#csvデータ読み込み
02|data<-read.csv("data.csv",encoding="UTF-8",header=T )
03|
04|#相関行列
05|A <- cor ( data )
06|
07|#固有ベクトル
08|print ( eigen ( A ) )

-公式導出:非難が殺到する前に掲載する
総合点 = a×甘さ + b×水分
#偏差を求める
( a×甘さ + b×水分 ) - ( a×甘さ平均 + b×水分平均 )
#偏差平方
( ( a×甘さ + b×水分 ) - ( a×甘さ平均 + b×水分平均 ) )2
#偏差平方和
Σ( ( a×甘さi + b×水分i ) -
( a×甘さ平均 + b×水分平均 ) )2
#分散
(1/n)Σ( ( a×甘さi + b×水分i ) -
( a×甘さ平均 + b×水分平均 ) )2

分散の式である。展開していく。

#括弧をはずす
(1/n)Σ (
a×甘さi + b×水分i -
a×甘さ平均 - b×水分平均 ) 2
#aとbでくくる
(1/n)Σ (
a ( 甘さi - 甘さ平均 ) +
b ( 水分i - 水分平均 ) )2
#2乗している部分を展開
(1/n)Σ(
a2 ( 甘さi - 甘さ平均 )2 +
b2 ( 水分i - 水分平均 )2 +
2ab( 甘さi - 甘さ平均 ) ( 水分i - 水分平均 ) )
#Σを展開
(a2/n)Σ ( 甘さi - 甘さ平均 )2 +
(b2/n)Σ ( 水分i - 水分平均 )2 +
(2ab/n)Σ( 甘さi - 甘さ平均 ) ( 水分i - 水分平均 )
#(1/n)Σ ( 甘さi - 甘さ平均 )2=甘さ分散
#(1/n)Σ ( 水分i - 水分平均 )2=水分分散
#(1/n)Σ( 甘さi - 甘さ平均 ) ( 水分i - 水分平均 )2=共分散
a2甘さ分散 + b2水分分散 + 2ab共分散

ここまではよかろう。
ここでaとbについてそれぞれ偏微分したいところだが、1つ条件がある。

a2 + b2=1
この式を満たす必要がある。
この条件下で最大値を求める場合、ラグランジュの未定乗数法を利用する
(詳細は気にせずとも良い)。

a2甘さ分散 + b2水分分散 + 2ab共分散
#ラグランジュの未定乗数法を用いる
a2甘さ分散 + b2水分分散 + 2ab共分散
- λ( a2 + b2 - 1 )
#aについて偏微分
2a甘さ分散 + 2b共分散 - 2aλ
#bについて偏微分
2b水分分散 + 2a共分散 - 2bλ

最大値を求めるので、式の値は0になる

2a甘さ分散 + 2b共分散 - 2aλ = 0
2b水分分散 + 2a共分散 - 2bλ = 0
#2で除算,λ部分を移項
#2つ目の式の順番変更
a甘さ分散 + b共分散 = aλ
a共分散 + b水分分散 = bλ

分散共分散行列になる(、、、続く)。

*可能な限り日本語を利用する。

[学習要綱]
-導入 *Σ
 共分散、相関係数、var()、cor()、Rで実装、公式操作

-単回帰分析 *Σ、偏微分
 公式導出、lm()、Rで実装

-重回帰分析 *Σ、偏微分、行列(逆行列)
 公式導出、lm()、Rで実装

-主成分分析 *Σ、偏微分、行列(固有値、固有ベクトル)
 公式導出、prcomp()、Rで実装