見出し画像

アワビのデータを用いた回帰分析

始めに

九州工業大学、本田研究室の小野です。これからnoteで研究活動に関する日誌や皆さんに役立つ情報を記していくことになりました。よろしくお願いします。
今回はゼミで使用した、アワビのデータセットのついて紹介して、そのデータを使った回帰分析の結果を記録しようと思います。

データセット

データセットはUCIが公開しているAbaloneを使用しました。このデータは物理測定からアワビの年齢を予測するために作成されたデータセットです。
タスマニア島のアワビ4177匹のデータが記録されており、欠損値があるデータはあらかじめ除去されています。

さて、このデータセットには8つの属性があります。

・性別(Sex: M, F, I(幼児))→sex
・体長(Length)→x1
・直径(Diameter)→x2
・高さ(Height)→x3
・全体重量(Whole weight)→x4
・身の重量(Shucked weight)→x5
・内臓の重量(Viscera weight)→x6
・殻の重量(Shell weight)→x7
・年輪の数(Rings)→y

最後の年輪の数が目的となる属性です。各変数の散布図を以下に示します。


散布図

散布図から各説明変数間と目的変数間に強い正の相関があることが分かります。
ゼミではこのデータを用いて、重回帰分析、包除積分モデルを用いた重回帰分析を行いました。

解析

Step1.データの前処理

データの前処理としては
・[0,1]区間に正規化
・性別をダミー変数に置き換える
・外れ値を持つデータ(x3)の削除
の3つを行いました。
また、幼児(sex_I)のデータが目的変数との相関が低かったため幼児のデータを削除して解析を行います。

Step2.データの追加(包除積分モデル)

包除積分モデルでは3加法までとし、代数積、論理積を用いてできた新たな説明変数をデータに追加します。

Step3.データの分割

データを訓練データとテストデータに分割します。全体の5/6を訓練データ、1/6をテストデータとしました。

Step4.回帰分析

解析にはpythonライブラリstasmodelのOLS(最小二乗法)を用いました。


2-加法(代数積)

Step5.ステップワイズ法

p値は一般的に0.05以下であればその変数には有意性があると言われています。しかし一般的には0.1を目安にすることが多いようです。そこで今回はp値の最大値が0.1以下になるまでp値が最大の説明変数を削除していきます。


2-加法(代数積)

モデルの精度は1%しか向上していませんが、精度を落とさずに変数を少なくすることが出来ています。

モデルの比較

各モデルの結果を下の表にまとめました。


各モデルの比較

重回帰分析に比べると「代数積」を用いた包除積分モデルの精度は少し上がったように思います。しかし、「論理積」を用いた包除積分モデルはあまり精度が上がりませんでした。

最後に

このデータセットは各説明変数間の相関係数がかなり高くなっています。したがって多重共線性に注意する必要があります。皆さんは、多重共線性を対策して解析を行うともっと良いモデルが得られるかもしれません。

この記事が気に入ったらサポートをしてみませんか?