Pythonで「t統計量」「p値」(t検定)

Data Science and Analytics

YouTuberの動画配信がCVRに寄与したかどうかを、統計的なアプローチで考察してみましょう。

まず、YouTuberの動画配信が、2023年3月18日からあったので、

2022年5月1日~2023年3月17日までの日次のCVRデータとして、pre_ad.csv、

2023年3月18日~2023年5月18日までの日次のCVRデータとして(5月19日以降のデータはGoogle Analytics側で何か問題があるようで、取得できなかった)、post_ad.csvとして、

GoogleDriveに、pathが
/content/drive/My Drive/Colab Notebooks/python/pre_ad.cs
/content/drive/My Drive/Colab Notebooks/python/post_ad.cs

となるように、GoogleDriveに置きました。

ここからは、Google Colaboratory(Google Colaboratoryは、Google社が提供している、ブラウザから直接Pythonを記述、実行できるサービスです。)を使いました。

まずこちらを実行します。

import pandas as pd
from scipy import stats

pandasライブラリは、データ分析に必要なデータ構造と操作を提供しており、scipystatsモジュールは、統計的な検定(今回の場合はt検定)を行うのに必要な関数を提供しています。

  1. まず、Google Driveをマウントします。これにより、Google Driveのファイルをローカルファイルのように扱うことができます。以下のコードを実行してGoogle Driveをマウントします:
from google.colab import drive
drive.mount('/content/drive')

このコードを実行すると、リンクと入力フィールドが表示されます。リンクをクリックして認証を行い、表示されたコードを入力フィールドに貼り付けてEnterキーを押すと、Google Driveがマウントされます。

ファイルを読み込んで、処理を行います。

# データの読み込みと変換
pre_ad = pd.read_csv('/content/drive/My Drive/Colab Notebooks/python/pre_ad.csv')
post_ad = pd.read_csv('/content/drive/My Drive/Colab Notebooks/python/post_ad.csv')

# 'conversion_rate'カラムのパーセンテージ記号を削除し数値に変換
pre_ad['conversion_rate'] = pd.to_numeric(pre_ad['conversion_rate'].str.rstrip('%')) / 100
post_ad['conversion_rate'] = pd.to_numeric(post_ad['conversion_rate'].str.rstrip('%')) / 100

# t検定の実行
t_stat, p_value = stats.ttest_ind(pre_ad['conversion_rate'], post_ad['conversion_rate'])

# 結果の表示
print('t統計量 =', t_stat)
print('p値 =', p_value)

計算結果は下記の通りです。

t統計量 = -4.593907070075591
p値 = 5.9215111062658305e-06

ここから、YouTuber配信前後で、CVRに効果があったかどうかを統計的に検証します。

  • t統計量 = -4.593907070075591:t統計量(t-statistic)は二つの集団間の平均値の差を標準偏差で標準化した値です。t統計量が大きいほど、2つの集団間に大きな差があると言えます。ここでは、t統計量がマイナスとなっているため、広告が配信される前のコンバージョン率(pre_ad)の平均が、広告配信後のコンバージョン率(post_ad)の平均よりも小さいことを示しています。
  • p値 = 5.9215111062658305e-06:p値(p-value)は帰無仮説(ここでは、「広告配信前後のコンバージョン率の平均に差がない」)が正しいと仮定したときに、観測されたデータ(またはそれ以上に極端なデータ)が生じる確率を示します。通常、p値が0.05以下の場合、帰無仮説を棄却し、対立仮説(ここでは、「広告配信前後のコンバージョン率の平均には差がある」)を採択します。このp値は非常に小さいため、帰無仮説を棄却し、対立仮説を採択します。つまり、広告配信前後のコンバージョン率の平均には統計的に有意な差があると結論付けられます。

以上から、YouTuberによる広告動画の配信は、コンバージョン率に統計的に有意な影響を与えたと言えます。具体的には、広告配信後のコンバージョン率が広告配信前に比べて有意に上昇したという結果です。ただし、この結果はあくまで統計的なものであり、因果関係を示すものではないことに注意が必要です。また、広告の効果は他の多くの要因によっても影響を受ける可能性があります。

まず、「t統計量」と「p値」とは、2つのデータグループがどれだけ違っているかを示す指標です。この2つの指標を使うことで、YouTuberの広告が始まる前と始まった後で、ウェブサイトへの訪問者が行動を起こす割合(コンバージョン率)が本当に変わったのか、それとも偶然変わったのかを調べることができます。

「t統計量」は、広告前と広告後のコンバージョン率の違いがどれくらい大きいのかを示します。今回の「t統計量」は -4.59となり、マイナスの値です。これは広告後のコンバージョン率が広告前よりも大きいことを示しています。

次に、「p値」ですが、これは偶然広告前と広告後のコンバージョン率が違って見える確率を示します。一般的に、「p値」が0.05(または5%)以下であれば、広告前と広告後のコンバージョン率の違いは偶然ではないと結論づけます。今回の「p値」は5.92e-06(0.00000592)で、非常に小さい値なので、広告前と広告後のコンバージョン率の違いは偶然ではなく、広告の影響が大きいと考えられます。

わかりやすく説明すると、この分析により、YouTuberの広告はウェブサイトへの訪問者が行動を起こす割合(コンバージョン率)を増加させたことが、高い確率で確認できました。したがって、広告がウェブサイトの成果に寄与したと言えます。

「t統計量」「p値」

計算結果が、
t統計量 = -1.8105271632594253
p値 = 0.07201156570589541
となった場合、この計算結果の解説は?

この計算結果は、YouTuberによる広告配信前と広告配信後の日次のCVR(変換率)を比較した結果です。

まず、与えられたデータは、広告配信前と広告配信後のCVRを含む2つのデータセットである「pre_ad」と「post_ad」です。それぞれのデータセットには、「conversion_rate」という列があり、これがCVRをパーセンテージで示しています。

計算の最初のステップでは、パーセンテージ記号を削除し、数値に変換しています。これにより、「conversion_rate」列の値をパーセンテージから小数に変換し、計算が容易になります。

次に、t検定が実行されます。t検定は、2つのグループの平均値に差があるかどうかを統計的に評価する方法です。ここでは、広告配信前と広告配信後のCVRの平均値の差を評価しています。

計算結果によると、t統計量は-1.8105271632594253であり、p値は0.07201156570589541です。

t統計量は、2つのグループ間の平均値の差を標準誤差で割った値を示します。絶対値が大きいほど、2つのグループの平均値に差があることを示します。この場合、t統計量は負の値なので、広告配信前のCVRの平均値が広告配信後のCVRの平均値よりも低いことを示しています。

p値は、t統計量に基づいて帰無仮説(「広告配信前と広告配信後のCVRに差がない」)を評価するための確率値です。p値が小さいほど、2つのグループ間に統計的に有意な差があることを示します。一般的な有意水準である0.05よりも大きい(0.07201156570589541 > 0.05)ため、この結果では帰無仮説は棄却されず、広告配信前と広告配信後のCVRに統計的に有意な差があるとは言えません。

したがって、与えられたデータに基づいて、YouTuberによる広告配信前と広告配信後の日次のCVRの差は統計的に有意ではない可能性があります。

では、計算結果が次の場合はどうですか?
t統計量 = -4.593907070075591
p値 = 5.9215111062658305e-06
この場合、計算結果は以下のようになっています。

t統計量 = -4.593907070075591
p値 = 5.9215111062658305e-06

t統計量は負の値であり、絶対値も比較的大きいです。これは、広告配信前のCVRの平均値が広告配信後のCVRの平均値よりも有意に低いことを示しています。

p値は非常に小さな値であり、5.9215111062658305e-06と表記されています。指数形式で表されているため、非常に小さい確率値を示しています。一般的な有意水準である0.05よりもはるかに小さいため、帰無仮説を棄却し、広告配信前と広告配信後のCVRには統計的に有意な差があると結論付けることができます。

つまり、与えられたデータに基づいて、YouTuberによる広告配信前と広告配信後の日次のCVRの差は統計的に有意であると言えます。広告配信後のCVRが広告配信前のCVRよりも有意に高いまたは低い可能性が高いです。

仮にp値で統計的優位さが証明できた場合、t統計量がどうなると、広告配信がCVRに大きく寄与していると言えますか?

統計的に有意な差があり、かつt統計量が大きい場合、それは広告配信がCVRに大きく寄与している可能性が高いことを示唆しています。

t統計量は、2つのグループの平均値の差を標準誤差で割った値を表します。絶対値が大きいほど、2つのグループの平均値の差が統計的に有意であることを示します。

したがって、統計的に有意な差があり、かつt統計量が大きい場合、広告配信がCVRに大きく寄与している可能性が高いと言えます。具体的には、広告配信によってCVRが有意に向上または低下している可能性が高いです。

ただし、結果を解釈する際には注意が必要です。他の要因や変数がCVRに影響を与えている可能性もあるため、広告配信が唯一の要因ではないことを考慮する必要があります。結果をより正確に解釈するためには、他の変数や要因も考慮に入れながら総合的な分析を行うことが重要です。

コメント

タイトルとURLをコピーしました