- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- ソース を表示
- バイオ・データ・マイニング/Rで回帰分析する へ行く。
- 1 (2011-11-07 (月) 13:30:05)
- 2 (2011-11-07 (月) 16:06:30)
- 3 (2011-11-07 (月) 19:24:10)
- 4 (2011-11-08 (火) 02:31:29)
- 5 (2011-11-08 (火) 10:08:16)
- 6 (2011-11-08 (火) 16:54:20)
- 7 (2011-11-08 (火) 19:54:10)
- 8 (2011-11-10 (木) 15:58:47)
- 9 (2011-11-11 (金) 12:46:43)
- 10 (2011-11-12 (土) 17:00:14)
- 11 (2011-11-15 (火) 08:05:02)
- 12 (2013-11-19 (火) 15:52:23)
- 13 (2013-12-05 (木) 13:03:50)
- 14 (2013-12-05 (木) 13:03:50)
- 15 (2013-12-05 (木) 13:03:50)
- 16 (2016-12-15 (木) 08:40:12)
- 17 (2017-12-14 (木) 20:11:02)
- 18 (2017-12-15 (金) 12:11:37)
- 19 (2017-12-15 (金) 12:11:37)
- 20 (2020-01-07 (火) 19:29:34)
- 21 (2020-01-15 (水) 16:27:42)
はじめに †
『Rによるバイオインフォマティクスデータ解析』の7.17節LASSOを参考にして,回帰分析をします.
LASSO回帰の前に,線形回帰と最小二乗法をやります.
準備 †
まずは,標準で使用できるirisデータを使います.
このデータは,ユリの種類(Species)を花びらの長さ(Sepal.Length),幅(Lepal.Width),がくの長さ(Petal.Length),幅(Petal.Width)によって分類する問題です. 長さと幅は連続値,種類はsetosa, versicolor, virginicaのいずれかをとる離散値です.
data(iris)
ここでは,がくの長さ(Petal.Length)を被説明変数(目的変数)として,花びらの長さ(Sepal.Length)を説明変数としてモデルを学習します.
この関係をプロットすると次のようになります.
iris[sort(sample(1:150,10)),]
#ref(): File not found: "iris_rawdata.png" at page "バイオ・データ・マイニング/Rで回帰分析する"
最小二乗法 †
線形回帰 †
まずは,線形モデルによる回帰を行います.
ここでは,線形回帰,LASSO回帰,Ridge回帰を行います.
LASSO回帰はglmnetパッケージに含まれています. glmnetパッケージは そこで,glmnetパッケージをインストールして,使用します.
Sepal.Length Sepal.Width Petal.Length Petal.Width Species 4 4.6 3.1 1.5 0.2 setosa 22 5.1 3.7 1.5 0.4 setosa 65 5.6 2.9 3.6 1.3 versicolor 97 5.7 2.9 4.2 1.3 versicolor 100 5.7 2.8 4.1 1.3 versicolor 108 7.3 2.9 6.3 1.8 virginica 116 6.4 3.2 5.3 2.3 virginica 122 5.6 2.8 4.9 2.0 virginica 136 7.7 3.0 6.1 2.3 virginica 146 6.7 3.0 5.2 2.3 virginica
データは,標準で使えるiris,glmnet