主成分分析での第一主成分、第二主成分が何を表しているのか理解したい。
今回使用したデータをgithub上で公開しているので、
データが必要な方は、git cloneお願いします
git clone https://github.com/kouhei-github/txt_data.git
最後に質問をまとめていますので、1点でもわかる方お答え頂きたいです。
またデータから気付いた点や、自分なりに分析してみた等の意見もあればお願い致します。
困っていること
現在、データ解析の勉強のために、あるサイトの検索順位のアルゴリズムを解析しています。
下記にデータを示します。
データは実際にgit cloneしてみる生データの方が、見やすいかと思います!
下記のコードでdataframeにして確認してください
python3
1# df = pd.read_csv('analyse.txt', index_col=0)
rank firstpage title_len distance crolling job_date keywords_num_job
job_lenth company_jobs_num
0 6 1 27 7143.010 0 720 0 1520 8
1 9 1 6 2041.890 0 384 0 571 805
... ... ... ... ... ... ... ... ... ...
24872 43 0 21 6467660.000 0 72 0 1011 13
24873 68 0 19 1743.930 1 720 0 608 13
24874 rows × 9 columns
rank: ランキングの順位
firstpage: 1が1page目に表示、0がそれ以外
title_len: タイトルの長さ
distance: 距離
crolling: クローリングかどうか
job_date: その募集をした日付
company_jobs_num: その会社が持っている他の募集
job_lenth: 募集の内容の長さ
keywords_num_job: 検索時にかけるキーワードの数
試したこと
**データを正規化し、自分なりに必要なデータに絞った**のが下記で、
rank title_len keywords_num_job job_lenth company_jobs_num
0 0.050505 0.337838 0.000 0.176375 0.000014
1 0.080808 0.054054 0.000 0.066257 0.001624
... ... ... ... ... ...
24872 0.424242 0.256757 0.000 0.117313 0.000024
24873 0.676768 0.229730 0.000 0.070550 0.000024
24784rows × 5columns
このデータを、主成分分析(PCA)をかけ,
__第一主成分と第二主成分をplotして、firstpageで散布図を作成__すると
うまくわかれています。
私の解釈として、第一主成分はfirstpage(1page目になれるかどうか)を表していると考えています。
ここでの散布図の分かれ目の0.4とは何を表しているのでしょうか?
次に寄与率をみてみると、
0
PC1 0.623347
PC2 0.231397
PC3 0.070281
PC4 0.040889
PC5 0.034086
第一主成分で、元データの60%を説明できており、第二主成分まで合わせると80%超えています。
また見やすくするために累積寄与率をグラフにすると、下記になります。
![]
最後に「第一主成分と第二主成分における観測変数の寄与度をプロット」すると
このようになります。第一主成分(1page目になれるかどうか)に貢献しているのは、
job_lenth, keywords_num_job, company_jobs_num, title_len
であると私は解釈しています。
しかし、PC1の座標をを見てみると貢献していたとしても 0.0でこの分析が合っているかどうかわかりません。
最後に、質問をまとめますと
1, PC1(第一主成分), PC2(第二主成分)でfirstpageの散布図を示した図の、分かれ目の0.4とは何を表しているのでしょうか?
2, 皆さんの解釈で第二主成分は何を表していると思いますか?
3, この主成分分析はあっているのでしょうか?
4, 最後のグラフの数字(PC1だと-1.0~0.0)は何を示しているのでしょうか?
もし他に、このデータで主成分分析等行って傾向がわかった方コメントしてください。
またコードの公開をして頂けると幸いです。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。