Photo by David Marcu on Unsplash
の続きです。
今回は、Fareです。はじめにsummary()関数でNAの有無や最大値などを確認します。
NAが一つありましたので、これを平均値の33.295にしてしまいます。
Fareは運賃ですね。ヒストグラムでtrain, test別に分布状況をみてみます。
同じような分布の感じですね。
density()関数とplot()関数で密度関数グラフでも比べてみます。
密度関数グラフも同じような形状ですね。
t.test()関数でtrainとtestで平均値に違いがあるかどうかを検定します。
p-value = 0.2857と0.05よりも大きなp値です。trainとtestでFareの平均値に統計的に有意な違いは無いと言えます。
続いてSuvivedとFareの関係を調べます。Fareの分布のヒストグラムが左に山の頂点があり、右の裾野が広がっている形状なので、対数変換した変数を作ってから、Survivedとの関係を調べます。
Fareには最小値が0だったので、0.1を足してから対数変換した変数にします。
こうして作成した変数をl_fareと名付けました。ヒストグラムを見てみます。
l_fareのほうがFareよりも正規分布に近い分布形状ですね。
Suvivedとの散布図を描きます。
ggplot2でSexで色分けして、Pclassでパネルを分けて散布図にしてみました。Pclassが1の人たちは運賃が高く、女性は生存している人が多いことがわかりますね。
lm()関数でSurvivedをl_fareで回帰分析してみます。年齢のときと同じように、3乗項まで含んでみます。
l_fareが大きいほど、Survivedは大きくなりそうですね。
グラフであらわしてみます。
seq()関数で仮のl_fareの数値をl_fareの最小値から最大値まで0.1刻みで作り、
pred()関数でモデルから予想されるSurvivedの値を取得して
plot()関数でグラフにして、
abline()関数で0.5の水準に水平線を引きました。この水平線より上だったら生存、下だったら死亡と考えてもいいと思います。
l_fareが大きいほうが、つまり運賃が高いほうが生存確率は高いですね。
今回は以上です。
次回は
です。
始めから見るには
です。