crosshyou

主にクロス表(分割表)分析をしようかなと思いはじめましたが、あまりクロス表の分析はできず。R言語の練習ブログになっています。

KaggleのTitanicのデータの分析8- Fareの分析、Fareは高いほうが生存確率は高い。

f:id:cross_hyou:20220320090731j:plain

Photo by David Marcu on Unsplash 

www.crosshyou.info

の続きです。

今回は、Fareです。はじめにsummary()関数でNAの有無や最大値などを確認します。

f:id:cross_hyou:20220320091113p:plain

NAが一つありましたので、これを平均値の33.295にしてしまいます。

f:id:cross_hyou:20220320091320p:plain

Fareは運賃ですね。ヒストグラムでtrain, test別に分布状況をみてみます。

f:id:cross_hyou:20220320091818p:plain

f:id:cross_hyou:20220320091828p:plain

同じような分布の感じですね。

density()関数とplot()関数で密度関数グラフでも比べてみます。

f:id:cross_hyou:20220320092257p:plain

f:id:cross_hyou:20220320092307p:plain

密度関数グラフも同じような形状ですね。

t.test()関数でtrainとtestで平均値に違いがあるかどうかを検定します。

f:id:cross_hyou:20220320092514p:plain

p-value = 0.2857と0.05よりも大きなp値です。trainとtestでFareの平均値に統計的に有意な違いは無いと言えます。

続いてSuvivedとFareの関係を調べます。Fareの分布のヒストグラムが左に山の頂点があり、右の裾野が広がっている形状なので、対数変換した変数を作ってから、Survivedとの関係を調べます。

Fareには最小値が0だったので、0.1を足してから対数変換した変数にします。

f:id:cross_hyou:20220320093020p:plain

こうして作成した変数をl_fareと名付けました。ヒストグラムを見てみます。

f:id:cross_hyou:20220320093237p:plain

f:id:cross_hyou:20220320093247p:plain

l_fareのほうがFareよりも正規分布に近い分布形状ですね。

Suvivedとの散布図を描きます。

f:id:cross_hyou:20220320093841p:plain

f:id:cross_hyou:20220320093852p:plain

ggplot2でSexで色分けして、Pclassでパネルを分けて散布図にしてみました。Pclassが1の人たちは運賃が高く、女性は生存している人が多いことがわかりますね。

lm()関数でSurvivedをl_fareで回帰分析してみます。年齢のときと同じように、3乗項まで含んでみます。

f:id:cross_hyou:20220320094527p:plain

l_fareが大きいほど、Survivedは大きくなりそうですね。

グラフであらわしてみます。

f:id:cross_hyou:20220320095347p:plain

f:id:cross_hyou:20220320095402p:plain

seq()関数で仮のl_fareの数値をl_fareの最小値から最大値まで0.1刻みで作り、

pred()関数でモデルから予想されるSurvivedの値を取得して

plot()関数でグラフにして、

abline()関数で0.5の水準に水平線を引きました。この水平線より上だったら生存、下だったら死亡と考えてもいいと思います。

l_fareが大きいほうが、つまり運賃が高いほうが生存確率は高いですね。

今回は以上です。

次回は

 

www.crosshyou.info

です。

始めから見るには

 

www.crosshyou.info

です。