m.n...スマートフォン用の表示で見るm.n...この広告は、90日以上更新していないブログに表示しています。2018-02-18重回帰分析で費用対効果を予測する。今回のテーマは重回帰分析です。データは広告費(テレビCMと雑誌)とアプリのインストール数のcsvファイルです。59963何にもわからないので、それぞれの散布図を描いてみます。data=ad_result_df)custom_styleはジュピターで表示するとき用のコードなので気にしにないでください。二つの散布図を見ると何やら相関がありそうですね。回帰直線を当てはめてプロットしてみます。data=ad_result_df)雑誌の方が傾きが大きいですね。重回帰分析してみます。7.24980915])model.intercept_188.17427483039501TVCMの係数は1.36、雑誌広告の係数は7.25と、やはり雑誌広告の方が大きい値になっていますね。.score関数でR2を出すことが出来るようなのでやってみます。y_target)0.93790143010444693まあまあの値ではないでしょうか。ちなみにstatsmodelsを使うとp値なんかも出て来ます。No.14.0さて、最後に予測をしてみます。本にはTVCMは4200万、雑誌広告は7500万で予測すると書いてあるので、その数字を入れてみます。60277.61237361])60278人がインストールすると予測できました。17:21重回帰分析で費用対効果を予測する。Tweet広告を非表示にするもっと読むコメントを書く2018-02-15A/Bテストの結果を解析する今回はA/Bテストの結果を解析していきます。与えられたデータは2つ。25743いつも通り結合していきます。0さて、綺麗になりました。ちなみに、resultsとして、実際のクリックを1、クリックしていない場合を0で表しています。クリック率を見てみます。0.11546なるほど。Bの方が高いのですね。ちなみに、他の種類のアプリのクリック率は12%程(本に書いてあった)ということなので、Bには期待できそうです。この結果は単なるクリック率ですので、まだ安心できません。カイ二乗検定を行なって、Bの結果が偶然よかったという帰無仮説を棄却していきたいです。0resultsとtest_case_xでクロス集計します。5056scipyのstatsは一発でカイ二乗検定を行うことができるので、それを利用。4282.18029207]]))2つめの4.9341396337856319e-69がp値となります。余裕で0.05は下回っていますね。Bの結果が偶然良いものになった可能性は棄却できそうです。一応、データの詳細も見ておきます。日毎のクリック率を可視化したいと思います。groupbyしてcount値をとります。axis=1)カラム名を変更。['count']クリック率/非クリック率(こっちはついで)を追加します。1]クリック率だけ抜き出します。hue='test_case_x')局所的だとまた原因を探る必要がありそうですが、全体的にBの方が高そうなのでよかったです。平均線も入れておきます。赤色は全体のクリック率です。19:50A/Bテストの結果を解析するTweet広告を非表示にするもっと読むコメントを書く2018-02-14どの属性の顧客が離脱しているのか?さて、今回は探索型のデータ分析です。先月と比べて、なぜか落ちてしまったユーザー数の原因を探索します。与えられているデータを確認。iOSkeyをuser_idとして結合します。iOS先月との比較を行いたいので、月の情報を追加します。08さてここからデータをみていきます。性別で違いがあるのかみていきます。38148全然違いはなさそうですね。一応plotしておきます。hue='gender')次は年齢別で違いがあるのか見たいと思います。3835とても見難いので、これはplotする意味がありそうです。hue='generation')色は綺麗ですがまだちょっと見難いので、今度は"log_month"の方で層別化してみます。hue='log_month')10〜30代の減少具合が高いような気もしますが、そもそものパイが大きいので、根本的な原因とは考えにくいかと思います。実はこの章はクロス集計がテーマらしいので、それっぽいことをしていきます。grouped.reset_indexgrouped.log_date.plot(kind='bar')果たしてこのplotが見やすいかは謎ですが、これを見る限り、特別大きな原因があるようには思えません。一度、全体のデータを確認します。08'device_type'の情報が含まれています。こっちも分析してみましょう。hue='log_month')お?これは明らかにおかしい結果が出てきました。Androidユーザーの利用率が9月になってめちゃめちゃ下がってますね。この辺に原因がありそうです。性別、年代との関係があるか見てみます。hue='log_month')この辺に関係はなさそうですね。Android用のアプリに異常があったことは間違いなさそうなので、月ごとではなく、日毎でplotしてみます。"--"])日付の文字が潰れてしまったので正確な日にちがわからなくなってしまいました。笑しかし、Androidユーザー数が0になったわけではないので、Androidの全ユーザーに支障があったわけではなさそうです。ここまで分析できたので、本の方をみてみます。すると、AndroidOSのアップデートがあったと答えが書いてありました。古いバージョンのAndroidOSではアプリの起動確認をしてなかったそうです。練習用のデータなので、綺麗に結果が出るようにしてくれているのかもしれません。※最初に二つのデータを結合した後、'app_name_x','app_name_y'の列を削除してますが、コード載せるの忘れてました。18:33どの属性の顧客が離脱しているのか?Tweet広告を非表示にするもっと読むコメントを書く2018-02-12先月からの売上減少を可視化してみる3さて、前回までで、新規ユーザーの全体課金額が減少していて、その原因の一つとして、そもそも新規ユーザー登録数が減少しているのではないか、というところまで進んだ。今回は、6,7月の新規ユーザーに課金額の違いがあるのかを見ていく。(ユーザー層が変化した可能性をみたい)まずは全体の確認。0色々覚えてきて、ここから一発でグラフ化できそうだなと思ったので、やってみた。"07"].payment)お?どうやら無課金ユーザーが多いので、そっちにplotが引っ張られてしまったようだ。課金勢のみを抽出して再度可視化。"07"].payment)今度はうまくいった!結果さて、青が6月新規勢で、緑が7月新規勢だが、kdeplotの部分もほぼ一緒なのでこれは単に新規登録人数が減ったと考えられそう。本を確認すると、2000円以下の課金数が減ったと書いてあった。確かにplotを見てもその通りなのだが、3つのplotピークの差がちょっとずつ減少傾向にある。そのため、課金額0をスタートとして、正規分布しているのだろうと勝手に判断した。(なので問題ないかなと)理想は、この判断を数学的に行いたいが、まだその辺はよくわかってないので、勉強した時に、振り返りたい。16:24先月からの売上減少を可視化してみる3Tweet広告を非表示にするもっと読むコメントを書く2018-02-12先月からの売上減少を可視化してみる2前回の記事の続きです。前回までで、新規ユーザーの総合課金額が減少してることがわかりました。今回は、この減少が、ユーザー層の変化によるものなのか、単に登録ユーザーによるものなのかを見ていきます。0ここから6、7月新規のデータだけ取り出します。ここでは.isin()を使ってますね。調べながらやったからこうなったんでしょう。