こんにちは、弊社では2016年ごろから広告への量子コンピュータの応用の量子生成AIアルゴリズムを作っていて、最近生成AIと相性が良いので再度使い始めてみました。作った広告を分析する際にせっかくなのでCode Interpreterを使ってみたいと思います。ちなみに最近は仕事としても広告運用を受け付けています。
内容的には弊社の分析とは異なりますが、ChatGPTに結構おまかせでどうなるかをみてます。広告は完全に生成AIで作りました。こんな感じです。
まずは、Code Interpreterを設定して、早速入れていきます。データはblueqatのTwitterで実際に出稿したデータを使っています。
https://twitter.com/blueqat_os
twitterでの記事出稿の効果測定です。clickが一番重要です。CTRの列を追加してくれると助かります。分析をしてくれますか?
もちろんです。まずは、ご提供いただいたデータを読み込み、データの概要を確認しましょう。その上で、CTR(Click Through Rate)の列を追加します。CTRは通常、クリックされた回数を広告が表示された回数(Impressions)で割って計算します。データに"clicks"と"impressions"の列があることを確認します。
こちらがデータの最初の数行です。
4つの列があります:
impression:広告が表示された回数
like:「いいね」の数
retweet:リツイートの数
click:クリックされた回数
これらの情報を基に、CTRを計算します。CTRはクリックされた回数を広告が表示された回数で割ったものです。この計算を行い、結果を新たな列として追加します。また、CTRが高いほど広告のパフォーマンスが良いとされます。計算を行います。
ここで再度計算が行われました。
データにCTRの列を追加しました。以下がデータの最初の数行です:
CTRが追加されました。
次に、CTRに関する基本的な統計を調べてみましょう。平均値、中央値、最小値、最大値などを計算します。また、CTRの分布も視覚化します。これにより、CTRの傾向や異常値を把握することができます。
勝手にやってくれます。
CTRの基本的な統計情報は以下の通りです:
件数(count): 16
平均(mean): 0.006734
標準偏差(std): 0.003044
最小値(min): 0.002893
25パーセンタイル(25%): 0.004653
中央値(50%): 0.006058
75パーセンタイル(75%): 0.008252
最大値(max): 0.014886
そして、上記のヒストグラムはCTRの分布を示しています。大半のCTRは0.004から0.008の範囲に集まっていますが、一部はそれよりも高い値を示しています。
次に、CTRと他の変数(impressions, likes, retweets)との関係を調査します。これらの変数とCTRとの間に相関があるかどうかを確認します。相関がある場合、それらの変数はCTRを予測するための有力な指標となる可能性があります。相関係数の計算と散布図の作成を行います。
ここで図を書いてくれました。
以下は、CTRと他の変数との間の相関係数です:
impression:0.271349
like:0.093695
retweet:0.157107
click:0.875379
clickとの相関が最も強く(0.875379)、これは理にかなっています(CTRはクリック数から計算されるため)。その他の変数(impression、like、retweet)との相関は相対的に弱いです。
また、上記の散布図は各変数とCTRとの関係を視覚化しています。データが右上に向かって広がっている場合、それらの変数とCTRとの間に正の相関があると言えます。相関が弱い場合、データは散らばり、明確なパターンが見られないかもしれません。
この情報を元に、さらに深い分析やCTRの予測モデルを作成することも可能です。特定の方向性や質問があればお知らせください。
意外とCTRと相関がないですね。likeなんかあってもいいとは思ったんですが。ということでもちょっとデータを追加してみました。
こちらはtwitterの広告データです。効果測定を分析したい。
申し訳ありませんが、コードの実行状態がリセットされたため、必要なライブラリ(pandas)がまだインポートされていません。pandasを再度インポートし、データを読み込みます。
なんかライブラリのインポートエラーを経て、下記のように。
8つの列があります:
impression:広告が表示された回数
like:「いいね」の数
retweet:リツイートの数
click:クリックされた回数
time:投稿時間
date:投稿日
text count:テキストの文字数
tags:ハッシュタグ
このデータを元に、CTR(クリック数を広告が表示された回数で割ったもの)の列を再度追加し、その他の変数との関係を調査します。また、投稿時間や投稿日、テキストの文字数、ハッシュタグがCTRにどのように影響を与えているかも調査します。さらに具体的な分析要望があればお知らせください。
なんか分析が止まってしましましたので、再度プロンプトを。
上記の分析を開始してください
次に、CTRに関する基本的な統計を調べてみましょう。また、新たに追加した時間(hour)や文字数(text count)といった変数とCTRとの関係を調査します。これにより、これらの変数がCTRにどのような影響を与えているかを理解することができます。それでは、CTRの基本統計と、時間、文字数とCTRとの相関を計算してみましょう。
CTRの基本的な統計情報は以下の通りです:
件数(count): 16
平均(mean): 0.006734
標準偏差(std): 0.003044
最小値(min): 0.002893
25パーセンタイル(25%): 0.004653
中央値(50%): 0.006058
75パーセンタイル(75%): 0.008252
最大値(max): 0.014886
以下は、CTRと他の変数との間の相関係数です:
impression:0.271349
like:0.093695
retweet:0.157107
click:0.875379
hour:-0.139342
text count:-0.048668
clickとの相関が最も強く(0.875379)、これは理にかなっています(CTRはクリック数から計算されるため)。その他の変数(impression、like、retweet)との相関は相対的に弱いです。また、投稿時間(hour)とテキストの文字数(text count)とCTRとの間には弱い負の相関が見られます。
次に、ハッシュタグの使用がCTRにどのように影響しているかを見てみましょう。ハッシュタグごとの平均CTRを計算します。また、ハッシュタグが使用された投稿と使用されなかった投稿とでCTRに違いがあるかどうかを調査します。さらに詳細な分析を行います。
ここで自動的に再計算が入りました。
ハッシュタグの使用によるCTRへの影響は以下の通りです:
ハッシュタグを使用した投稿の平均CTR:0.006151
ハッシュタグを使用しなかった投稿の平均CTR:0.007316
ハッシュタグを使用した投稿と使用しなかった投稿とで、平均CTRにはわずかな違いが見られます。具体的には、ハッシュタグを使用しなかった投稿の方が平均CTRが若干高いです。
次に、各ハッシュタグの平均CTRは以下の通りです:
#Nvidia:0.007426
#QuantumPower:0.006058
#cuQuantum:0.006151
#次世代コンピューティング:0.003188
#量子コンピューティング:0.006034
#革新的なテクノロジー:0.007426
NVIDIA:0.006058
各ハッシュタグによって平均CTRには差があります。この情報を利用して、特定のハッシュタグがCTRにどのように影響を与えているかを理解することができます。
以上の情報を元に、さらに深い分析やCTRの予測モデルを作成することも可能です。特定の方向性や質問があればお知らせください。
お知らせくださいとのことなので、
上記データについてより深い分析をお願いできますか。
もちろんです。具体的な分析内容を提案しますが、それらがご要望に合致しているかご確認ください:
時間帯別のCTRの分析:一日の中で特定の時間帯に投稿することがCTRに影響を与えるかどうかを調査します。これは、投稿時間がユーザーのエンゲージメントに影響を与える可能性があるからです。
テキスト長とCTRの関係:投稿のテキスト長がCTRにどのように影響するかを調査します。これは、テキストの長さがユーザーの関心を引く可能性があるからです。
ハッシュタグの使用とCTRの関係:特定のハッシュタグが使用された場合にCTRが高くなるかどうかを調査します。また、ハッシュタグの数(一つの投稿で使用されたハッシュタグの数)がCTRに影響を与えるかどうかも調査します。
日付とCTRの関係:投稿日がCTRに影響を与えるかどうかを調査します。週の中の特定の日や月の特定の日に投稿することがCTRに影響を与える可能性があります。
これらの分析について進めていきますが、これ以外に特定の分析をご希望の場合はお知らせください。
また止まりました。
上記の分析をお願いします。
上記のグラフと統計から、以下の結論を導くことができます:
時間帯別のCTRの分析:CTRは時間帯によって異なる傾向を示しています。特定の時間帯(例えば、午前6時や19時)では、他の時間帯に比べてCTRが高くなる傾向があります。
テキスト長とCTRの関係:テキスト長とCTRとの間に明確な相関は見られません(相関係数は-0.05)。これは、テキストの長さだけがCTRを左右するわけではないことを示しています。テキストの内容やその他の要素(ハッシュタグの使用など)も重要な役割を果たす可能性があります。
ハッシュタグの使用とCTRの関係:ハッシュタグの使用はCTRに影響を与える可能性があります。具体的には、ハッシュタグを使用しない投稿の方が平均的にはCTRが高い傾向にあります。しかし、ハッシュタグを使用した投稿でも、一部は非常に高いCTRを達成しています。
日付とCTRの関係:曜日によってCTRに大きな差は見られませんでした。これは、曜日がCTRに大きな影響を与えていない可能性を示しています。ただし、一部の曜日(例えば、火曜日)ではCTRの範囲が広く、他の曜日に比べてCTRが高い投稿が見られます。
これらの分析は一部の可能性を示していますが、結果の解釈は注意が必要です。特に、データの量が限られている場合や、外部要素(例えば、投稿の内容やターゲットユーザーの行動パターン)が分析に含まれていない場合などです。さらに詳細な分析を行ったり、特定の仮説を検証したりすることで、より深い洞察を得ることができます。
これらの結果について、またはさらなる分析についてご質問がありましたらお知らせください。
これだけでは物足りないので、データを使って予測モデルを作ってみましょう。
上記の広告効果の予測モデルを作ってもらえますか?
広告の効果、特にCTRを予測するモデルを作成することは可能です。その際、重要なのは、どの特徴量(変数)をモデルの入力とするか、そしてどのようなモデルを使用するかです。このケースでは、以下の変数が考慮されます:
impression:広告が表示された回数
like:「いいね」の数
retweet:リツイートの数
hour:投稿時間
text count:テキストの文字数
has_tags:ハッシュタグがあるかどうか
これらの変数を特徴量として使用します。モデルの選択については、CTR予測の問題は回帰問題であるため、線形回帰、決定木、ランダムフォレスト、勾配ブースティングなどの回帰モデルが考えられます。
ただし、モデルの訓練には大量のデータが必要で、現在手元にあるデータは16行と少ないため、モデルの精度はそれほど高くならない可能性があります。また、モデルの評価には一部のデータをテストデータとして使用する必要がありますが、データが少ないためこの分割も難しいです。
以上を踏まえて、線形回帰モデルを作成し、全てのデータを使用してモデルを訓練してみます。その上で、モデルの重要な特徴量を確認します。それでは、モデルの作成を進めてみましょう。
Finished working
Show work
上記の表は、線形回帰モデルの特徴量(変数)ごとの係数(重み)を示しています。これらの係数は、各特徴量が予測結果(ここではCTR)にどの程度影響を与えるかを表しています。係数が正であればその特徴量が増加すると予測結果も増加し、係数が負であればその特徴量が増加すると予測結果は減少します。絶対値が大きいほど、その特徴量の影響力は大きいと言えます。
以下は、各特徴量の係数です:
impression:2.898
like:-0.057
retweet:-0.311
click:-4.982
text count:0.159
hour:0.176
CTR:3.464
上記から、clickとimpressionがCTRの予測に最も影響を与える特徴量であることがわかります。これは、CTRがクリック数とインプレッション数から計算されるためです。他の特徴量(like、retweet、text count、hour)もCTRに影響を与えますが、その影響力はclickとimpressionに比べて小さいです。
このモデルは全てのデータを用いて訓練しましたが、モデルの汎化性能(新しいデータに対する予測性能)を評価するためには、データの一部をテスト用に保持しておく必要があります。現在のデータ量ではこの分割は難しいため、モデルの評価は省略しました。また、モデルの精度を高めるためにはより多くのデータや、CTRに影響を与える可能性のある他の特徴量(例えば、ユーザーの属性、広告の内容など)が必要です。
この結果について、またはさらなる分析についてご質問がありましたらお知らせください。
視覚化したいです。
上記を適当な軸で線形回帰直線を書いてもらえますか?
線形回帰モデルは多変数(複数の特徴量)を考慮していますが、2次元のグラフには2つの変数しかプロットできません。したがって、一つの特徴量と目的変数(ここではCTR)の関係を可視化し、その上に回帰直線を描くことが一般的です。
ここでは、「impression」とCTRの関係を示す散布図を描き、その上に線形回帰直線を描きます。それでは、グラフを作成してみましょう。
上記のグラフは、「impression」とCTRの関係を示しています。青色の点は各投稿のデータを、赤色の線は線形回帰モデルの予測を表しています。このグラフから、impressionとCTRとの間に正の関係があることが視覚的に理解できます。つまり、impressionが増えると、CTRも増える傾向にあるということです。
ただし、この結果は一部のデータを元にしたもので、全てのケースに当てはまるわけではないことに注意が必要です。また、他の特徴量(like、retweet、click、text count、hourなど)もCTRに影響を与える可能性があります。
他に何かご質問がありましたらお知らせください。
年間の広告予算がそう大きくない会社でしたらこれで十分ですね。以上です。