質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Kaggle

Kaggleは、機械学習モデルを構築するコンペティションのプラットフォームおよびその運営企業を指します。企業や政府といった組織とデータサイエンティスト・機械学習エンジニアを繋げるプラットフォームであり、単純なマッチングではなくコンペティションが特徴です。

機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

データマイニング

データマイニングは、購買履歴やクレジットカードの利用履歴、電話の通話履歴など企業にある大量のデータを解析して、その中に隠れたパターンやルールを探し出す技術です。DMと略されることもあります。

統計

統計は、集団現象を数量で把握することです。また、調査で得られた性質や傾向を数量的に表したデータのことをいいます。

Q&A

解決済

2回答

1640閲覧

機会学習で確認された特徴量から平均値や中央値、データの分布を見ることで何がわかるのか

humanbeing

総合スコア7

Kaggle

Kaggleは、機械学習モデルを構築するコンペティションのプラットフォームおよびその運営企業を指します。企業や政府といった組織とデータサイエンティスト・機械学習エンジニアを繋げるプラットフォームであり、単純なマッチングではなくコンペティションが特徴です。

機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

データマイニング

データマイニングは、購買履歴やクレジットカードの利用履歴、電話の通話履歴など企業にある大量のデータを解析して、その中に隠れたパターンやルールを探し出す技術です。DMと略されることもあります。

統計

統計は、集団現象を数量で把握することです。また、調査で得られた性質や傾向を数量的に表したデータのことをいいます。

0グッド

0クリップ

投稿2022/01/07 12:14

Kaggleなどで行われるデータ探索について、わからないことがあったので質問いたします。

(厳密には、このコードは後述するコンペで実際に使われたものではありません。「学んだやり方をコンペのデータセットに当てはめてやってみた」、というだけですので、もしかしたら違和感があるかもしれません。)

値の補足
months :Total number of months in service
churn :Instance of churn between 31-60 days after observation date

適当なパラメータでLightGBMを使った二値予測(0,1)を行い、その特徴量を可視化しました。

lgb.plot_importance(model, height=0.5, figsize=(30,40))

イメージ説明
機会学習に寄与していると思われる上位5つの特徴量を検討するにあたって、平均値や中央値、データの分布を確認しています。”months”の部分を変えるだけなので、他4つは省略します。

df.groupby(["churn"])["months"].mean() churn 0 18.633074 1 19.038457 Name: months, dtype: float64
df.groupby(["churn"])["months"].median() churn 0 16 1 17 Name: months, dtype: int64
df.groupby('churn')['months'].plot.hist(bins=20, alpha=0.5, legend=True) churn 0 AxesSubplot(0.125,0.125;0.775x0.755) 1 AxesSubplot(0.125,0.125;0.775x0.755) Name: months, dtype: object

![イメージ説明]

そして、解約の有無でウィルコクソンの順位和検定を有意水準を5%とし、2群の中央値に有意差が見られるか検討しているようです。

from scipy import stats s, pvalue = stats.mannwhitneyu(df[df["churn"]==1]["months"] , df[df["churn"]==0]["months"] ,alternative='two-sided') pvalue < 0.05 True

コードの説明には、有意差があることを確認できれば、説明変数(ここでいうmonths)が高い(もしくは低い)ほど、解約率(churn)は高く(もしくは低く)なることがわかる、といった趣旨のことが書いてありました。

私の疑問は以下の3点です。

1,この平均値や中央値の値は何を示しているのでしょうか。0、即ち解約されていない状態でのmonthsの平均値と、1、解約されてしまった状態のmonthsとの平均値の間で差が生まれていれば、churnとmonthsの比例関係のようなものが見えてくるのかな、などと直観的に考えたのですが、これは正しいでしょうか。正しい場合、平均値も中央値もあまり差がないため、そのような関係が見えない、となってしまう気がします。

  1. ヒストグラムで着目すべき点はどこなのでしょうか。0と1の二色のヒストグラムはほとんど同じ分布を描いていますよね。やはり有意差はないということなのでしょうか。

3,ウィルコクソンの順位和検定、なるものは全く仕組みを知らないのですが、有意水準5%を検定してみて、Trueと出たのならばそれは有意差があるものだとみなしてよいのでしょうか。(その場合、1で立てた仮説と矛盾してしまいますが...)

Python初学者かつヒストグラムの読み方やカイ二乗検定をギリギリ知ってるという程度の統計知識しかないのですが、お答えいただけると幸いです。

よろしくお願いいたします。

Kaggle-Telecom customer
https://www.kaggle.com/abhinav89/telecom-customer

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

すでに別の方が回答されてますが、回答依頼をいただきましたので、少し別の観点で

1,この平均値や中央値の値は何を示しているのでしょうか。0、即ち解約されていない状態でのmonthsの平均値と、1、解約されてしまった状態のmonthsとの平均値の間で差が生まれていれば、churnとmonthsの比例関係のようなものが見えてくるのかな、などと直観的に考えたのですが、これは正しいでしょうか。正しい場合、平均値も中央値もあまり差がないため、そのような関係が見えない、となってしまう気がします。

humanbeingさんは「あまり差がない」と仰ってますが、どうしてそう言えるのでしょうか?
データによって、また見る人によって差が出ますよね。ですのでそれを誰が見てもこうだ、と言えるために統計的検定というものがあり、ウィルコクソンの順位和検定がその一つですね。

(その場合、1で立てた仮説と矛盾してしまいますが...)

はい、humanbeingさんが「あまり差がない」と感じたことが、少なくとも「ウィルコクソンの順位和検定」の見立てでは間違い(の可能性が高そう)と分かったことになります。
俺はこう思う、私はこう思うの言い合いではなく、統計的に定量的に見るとどうなるかという判断をしているということです。

機会学習で確認された特徴量から平均値や中央値、データの分布を見ることで何がわかるのか

特徴量と目的変数の関連性を見ていることになります。最近はAutoMLが流行り出し、自動の機械学習に掛けることでもある程度のことまで分かりますが、より精度を上げるとか、精度ではなくどういう特徴量が予測に影響しているかなどを詳しくいるためにはこういった特徴量エンジニアリングという作業をたくさんします。
特にKaggleは精度を突き詰めるので、少しでも特徴量と目的変数の関連性を見極め、その後のデータ加工やパラメータ調整に役立てるようです。

補足
「機会学習」→「機械学習」

投稿2022/01/09 09:17

aokikenichi

総合スコア2218

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

humanbeing

2022/01/10 10:31

aokikenichiさん、回答依頼への対応ありがとうございます。 >データによって、また見る人によって差が出ますよね。ですのでそれを誰が見てもこうだ、と言えるために統計的検定というものがあり、ウィルコクソンの順位和検定がその一つですね。  統計学を学んでいるにも関わらず、その視点を持つことができていませんでした。データに正しい解釈を与えるのが統計学だと肝に銘じておきます。 >俺はこう思う、私はこう思うの言い合いではなく、統計的に定量的に見るとどうなるかという判断をしているということです。  ウィルコクソンの順位和検定で検証を行って初めてデータの解釈が与えられたとみているのですね。検定の意味もこれから学ぶ際に気を付けなければいけませんね。 >特徴量と目的変数の関連性を見ていることになります。  因果関係を数字から読み解くというのは社会科学的なポリシーでもあり、統計や理論を学ぶことの最終的な目的でもあるはずです。feature engineeringの例はいくつか見てきましたが、自分でそれをやるとなるともっと数字に対する眼を養う必要がありそうです。 タイトルも最後に回収して頂き、統計や機械学習への理解が深まりました。ありがとうございました。
aokikenichi

2022/01/10 11:04

>ウィルコクソンの順位和検定で検証を行って初めてデータの解釈が与えられたとみているのですね。 念の為補足しますとこの検定も解釈の一つです。値から得られた印象も解釈の一つです。ただ印象だと他人と共有しづらいのが弱み。検定も検定方法により癖がありますので、より厳密さを求めるならば複数の異なる検定を比較するなども行われます。
guest

0

・この平均値や中央値の値は何を示しているのか?

質問に記載の通り、解約した人と継続している人のmonthsの平均と中央値です。仮にmonthsとchurnに因果関係があるとすれば、churn=0と1で平均や中央値に差異があるはずということになります。結果は微妙ではありますが、差異があるということが示されています。

・ヒストグラムで着目すべき点はどこなのでしょうか?

平均値や中央値は分布をサマライズした値でしかないので分布全体を見ないと結果の解釈を誤ります。本来、分布の形状が近似かつ平均値・中央値の差異が認識できる程度に左右にズレていれば、平均値と中央値の差異をそのまま信じていいことになります。
しかしながら、質問に記載の通りに差異があるように見られません。つまり、平均値と中央値の差異は偶然かもしれないということを示唆しています。

・有意水準5%を検定してみて、Trueと出たのならばそれは有意差があるものだとみなしてよいのでしょうか。

可視化の結果から平均値・中央値の差異が偶然の可能性が示唆されたため、検定を行っています。検定は、偶然の結果である(つまり両者には差異がない)という帰無仮説に対してp値を計算します。この値が所定の閾値(今回は5%)より小さければ帰無仮説が棄却され、観測された平均値には有意な差異があるという解釈ができます。

投稿2022/01/09 02:47

R.Shigemori

総合スコア3376

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

humanbeing

2022/01/10 10:04

R.shigemoriさん、回答ありがとうございます。 >結果は微妙ではありますが、差異があるということが示されています。  微妙でも、差異があるというようにとらえるのですね。 >本来、分布の形状が近似かつ平均値・中央値の差異が認識できる程度に左右にズレていれば、平均値と中央値の差異をそのまま信じていいことになります。  なるほど。ヒストグラムは平均値や中央値の差異を分布で確認するために存在していたのですね。それを左右のズレで把握するという、という理解がありませんでした。ありがとうございます。 >可視化の結果から平均値・中央値の差異が偶然の可能性が示唆されたため、検定を行っています。検定は、偶然の結果である(つまり両者には差異がない)という帰無仮説に対してp値を計算します。  差異が本当に意味を持つのか、という疑問を検定で検証しているのですね。平均値や中央値、ヒストグラムで確認された事実を検証するフェイズであるということがわかっていませんでした。ありがとうございます。 一つ一つ丁寧にお答えいただき大変助かりました!ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問