科学の箱

科学・IT・登山の話題

R 機械学習

dataanalysis-002-week4

投稿日:2014年1月6日 更新日:

クラスタリング

SVDと組み合わせることでよりクラスに分かれているクラスタリングを実行できる。

  • 散布図でクラスタリングする変数を探す
  • クラスタリング
  • SVDを実行する
  • SVDの結果をクラスタリングに取り込む
  • k-meansクラスタリングの実施
  • クラスタセンターを確認する
  • 寄与度が大きい変数を見つける

SVD(特異値分解)

主成分分析に使われる。主成分分析は説明変数から新しい数が少なり目的変数をもとめる。因子分析は逆に目的変数の背後にはる説明変数をもとめる。

回帰分析の目的

  • 分布の記述
  • 2変数の関連の記述
  • 分布と関連について推測

Jitterプロットを使ってみる

Inference

  • 回帰分析もinferenceにつかう
  • サンプル集団から回帰分析
  • モデルからランダムに大量集団を作成
  • サンプリングして回帰分析
  • モデルのサンプリング
  • interceptとslopeをヒストグラムにする
  • interceptとslolpeをRで計算し誤差を導く

Standardize

  • わかりやすい
  • 比較できる

信頼空間

モデルを作るとかならずそれは母集団の推測になっているのでエラーを定量化する必要がある。

P-Value 偶然だとして発生する確率は xx%

回帰分析における検定

  • 説明変数と、、変数には関連性がないという仮説

離散変数を使った回帰分析 カテゴラル

テューキーの範囲検定

重回帰分析

  • 説明変数と目的変数を決める
  • 目的変数をパターンによって切り分ける
  • 回帰分析をする ←各パターンについて
  • 残りのデータで検証をしてみる
  • 相関係数を求める
  • 信頼空間を求める
  • 解釈する

リアルな回帰分析

  • confounder
  • skew
  • outlier, not fit trend
  • line is not always the best summary
  • variance change
  • units, absolute or relative
  • overloading
  • correlation and causation

Population of 1million families

newGalton <- data.frame(parent=rep(NA,1e6),child=rep(NA,1e6))
      //   NAを使ってデータフレームの箱を作る
newGalton$parent <- rnorm(1e6,mean=mean(galton$parent),sd=sd(galton$parent))
      //   galtonの親データを1e6個作成する
      //   データはオリジナルデータの平均と標準偏差の正規分布から取得される。
newGalton$child <- lm1$coeff[1] + lm1$coeff[2]*newGalton$parent + rnorm(1e6,sd=sd(lm1$residuals))
   //    galtonの子データを作成する。
     //    データは回帰分析の結果を使う。ただし、residualのノイズを入れ込む。
     ///   ノイズは平均0でresitualsの標準偏差に従う。
smoothScatter(newGalton$parent,newGalton$child)
abline(lm1,col="red",lwd=3)

リストを作成する方法

sampleLm <- vector(100,mode="list")
for(i in 1:100){
  sampleGalton <- newGalton[sample(1:1e6,size=50,replace=F),]
  sampleLm[[i]] <- lm(sampleGalton$child ~ sampleGalton$parent)
}

sampleLmにlistを代入しているが、lmの結果をclass()でみるとlmになる。”list”はdata.frameで用いるらしい。とりあえずややこしい計算の結果はdata.frameで戻されることを覚えておく。data.frameのがらは”list”で作る。

回帰分析におけるt値についての説明

係数および切片はt値をもつ。回帰分析におけるt検定は帰無仮説をこれらの値を0としている。tが小さいほど0に近いことを意味する。よって棄却されるときには0以外となり、係数がついている項目が有効であることがわかる。棄却されなければその項目の係数は0であるから回帰モデルには貢献していないことが予測される。

一般化すると平均0の母集団からとられた係数とサンプルとしてとられた係数の平均についてt検定をしていることになる。

傾きが同じになるグループの回帰分析を実行する

第二パラメータに変数名を “+”でつなげていく

> hunger1.lmBoth <- lm(hunger1$Numeric ~ hunger1$Year + hunger1$Sex)
> hunger1.lmBoth

Call:
lm(formula = hunger1$Numeric ~ hunger1$Year + hunger1$Sex)

Coefficients:
    (Intercept)     hunger1$Year  hunger1$SexMale  
       615.3730          -0.2993           1.9175

coeffi[1]はintercept, coeffi[2]はYearの係数, coeffi[3]はSex=Maleの時の追加interceptとなる。

同じ傾き、異なった傾きで回帰モデルを作成

重回帰モデルで同じ傾きで異なった切片、異なった傾きで異なった切片の直線を計算する方法が出ている。回帰モデルに入力する値を変えるのだが、よくわからなかったので参考になりそうなページを探した。

  • http://wiener.math.csi.cuny.edu/Statistics/R/simpleR/stat015.html
  • https://www.zoology.ubc.ca/~schluter/R/fit-model/
  • http://stackoverflow.com/questions/3017049/in-r-draw-two-lines-with-slopes-double-and-half-the-value-of-the-best-fit-line
  • http://r-eco-evo.blogspot.jp/2011/08/comparing-two-regression-slopes-by.html

交互作用がない変数を追加するためには”+”で変数をつなげていけばよい。交互作用がある場合には”*”を使う。一見すると足し算や掛け算に見えるが、算術計算とは関係なく、変数をパラメータとして追加していくための記述方法だと考えればわかりやすい。

回帰分析を分散分析で検定

  • http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1197781346
  • http://www.ab.auone-net.jp/~biology/regline/regline.htm
  • http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1288680497
  • http://www4.ocn.ne.jp/~murakou/anova.htm
  • http://www.slideshare.net/logics-of-blue/1-4-25564403
  • http://cse.naro.affrc.go.jp/takezawa/r-tips/r/71.html
  • http://homepage2.nifty.com/nandemoarchive/toukei_hosoku/anova_kaiki.htm

メタ情報

inarticle



メタ情報

inarticle



-R, 機械学習
-,

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

線形回帰と最急降下法

線形回帰 世の中の様々な出来事(y)はある事象(x)に対して比例することが多い。もちろん厳密に比例するわけではなくずれは生じる。しかしこのxとyが比例すると仮定した場合、中学校で習った一次式でこの関係 …

no image

diag

3×3の対角行列を生成する > diag(3) [,1] [,2] [,3] [1,] 1 0 0 [2,] 0 1 0 [3,] 0 0 1 3×3の対角行列を生成し、対角 …

no image

回帰分析

回帰分析の手順 データを取得する。 回帰分析をする意味があるかを検討する 回帰分析のモデルを検討する 回帰分析をする 回帰分析の結果について考察する 回帰分析のメモ 回帰分析では目的変数を説明できる変 …

no image

Excelによる単回帰分析

エクセルでの単回帰分析をについて手順をまとめる。エクセルの使い方にあわせて分析結果の解釈の仕方も書いておく。 データは勉強時間に対する点数とする。これは作ったデータであるが、線形回帰にフィットするよう …

no image

splineを利用する

データが連続していない時には、となりあうデータを使ってその間の値を予測できる。簡単な例では1と2という値があり、この間を一つの値で補完すると1.5となる。補間する値を増やしていけば滑らかな曲線になる。 …

2014年1月
« 12月   2月 »
 12345
6789101112
13141516171819
20212223242526
2728293031  

side bar top



アーカイブ

カテゴリー