2017年04月25日

アイドルに関するデータ収集~分析:1.1TwitterデータからDD度の可視化

DD…誰でも大好き(複数のメンバー・グループを応援する)のこと。

Twitterで℃-uteヲタの方々をフォローしてわかったんですが、皆さん℃-uteだけでなく、ハロプロ全体の造詣が深い。ハロプログループ全体でのコンサートやイベントが多いためだと思います。
そこで他のアイドルグループ(48や坂道、スターダストプロモーション)ではどうなんだろうと気になってきました。つまり、AKBが好きな人はSKEもNMBもHKTも好きで、乃木坂が好きな人は欅坂も好きか、ということ。そこで、Twitter公式アカウントのフォロワーを分析し、グループ毎のDD度合いを見てみることにしました。

対象のグループは以下にしました。

ハロプロ(カントリーガールズが漏れていました。。)
・モーニング娘 @MorningMusumeMg
・℃-ute @Cute_upfront
・Angermu @angerme_upfront
・こぶしファクトリー @kobushifac_uf
・つばきファクトリー @tsubakifac_uf
・Berryz工房(活動停止中) @Berryz_kobo

48グループ(SNHとSTUが漏れていました。。)
・AKB48 @AKB48Mobile
・SKE48 @ske48official
・NMB48 @nmb48_blog
・HKT48 @hkt48_official_
・NGT48 @official_NGT48
・JKT48 @officialJKT48
・BNK48 @bnk48official

坂道
・乃木坂46 @nogizaka46
・欅坂46 @keyakizaka46

スターダストプロモーション
・ももクロ @momowgp
・エビ中 @ebichu_staff

AKB48、NMB48、BKN48は公式アカウントらしいものがありませんでしたので、
公式情報を発信してるアカウントを選択。

モーニング娘。とももクロもオフィシャルアカウントがわかりませんでしたが、
マネージャーさん・プロデューサーさんのアカウントに十分フォロワーがいましたので、
こちらを使うことにします。

DD度合の指標ですが、以下の手順で実施しています。
①各アカウントのフォロワーを500人ずつ取得。
②あるアカウントのフォロワー500人が他のアカウントもフォローしているかどうかを集計

環境はAmazon Linuxとし、データの取得~分析にはRを使いました。
パッケージはtwitteRを利用します。あとネットワーク図可視化にigraphを使いました。

Twitterとの連携についてはからだにいいもの RでTwitter操作:「twitterR」パッケージ!バージョン1.1.9の紹介を参考に、可視化はR-bloggers An Example of Social Network Analysis with R using Package igraphを参考にしました。

Rのダウンロード、インストールは省略します。
以下、データ取得~分析のRコードです。
コード上では℃-uteとハロプロの関係を、チームとグループと呼ぶことにします。

#パッケージインストール
install.packages("base64enc")
install.packages("twitteR")
install.packages("igraph")

require(twitteR)
require(igraph)

#取得するアカウント
Morning <- "MorningMusumeMg"
Cute <- "Cute_upfront"
Berry <- "Berryz_kobo"
Kobushi <- "kobushifac_uf"
Tsubaki <- "tsubakifac_uf"
Country <- "countrygirls_uf"
Juice <- "JuiceJuice_uf"
Angermu <- "angerme_upfront"

AKB <- "AKB48Mobile"
SKE <- "ske48official"
NMB <- "nmb48_blog"
HKT <- "hkt48_official_"
NGT <- "official_NGT48"
JKT <- "officialJKT48"
BNK <- "bnk48official"

Nogi <- "nogizaka46"
Keyaki <- "keyakizaka46"

Momoclo <- "momowgp"
Ebi <- "ebichu_staff"

#各チームアカウントをTeamsにまとめる。
Teams <- c(Morning,Cute,Berry,Kobushi,Tsubaki,Juice,Angermu,
AKB,SKE,NMB,HKT,NGT,JKT,BNK,
Nogi,Keyaki,
Momoclo,Ebi)

#チームが所属するグループをGroupsにまとめる。
Groups <- c(rep("Hello",7),
rep("48G",7),
rep("Sakamichi",2),
rep("StarDust",2))

ConsumerKey <- "--------"
ConsumerSecret <- "--------"
AccessToken <- "--------"
AccessTokenSecret <- "--------"

setup_twitter_oauth(ConsumerKey, ConsumerSecret, AccessToken, AccessTokenSecret)

FollowerSData <- NULL
#チームアカウントのフォロワー取得。全て取得するのに10分ぐらいかかりました。
for(i in 1:length(Teams)){
print(paste0(Teams[i], "_",i, "/", length(Teams)))
user <- getUser(Teams[i])
#フォロワーを500取得。
followers <- user$getFollowerIDs(n=500,retryOnRateLimit=120)
#取得したフォロワーをFollowersData(データフレーム)につなげていく。
FollowerSData <- cbind(FollowerSData,followers)
Sys.sleep(5)
}

colnames(FollowerSData) <- Teams[1:ncol(FollowerSData)]

これで、FollowersDataというデータフレームに、
アカウント数18×フォロワー500人=延べ9000人のアカウントが格納されました。
次に、各アカウントのフォロワー500人が別のアカウントのフォロワーとしてどれだけ登場しているかを集計します。

DDData <- data.frame(matrix(rep(NA,ncol(FollowerSData)^2),nrow=ncol(FollowerSData), ncol=ncol(FollowerSData)))
rownames(DDData) <- colnames(DDData) <- Teams
for(i in 1:ncol(FollowerSData)){
DDData[i,] <- sapply(1:ncol(FollowerSData), function(x){
sum(FollowerSData[,i] %in% FollowerSData[,x])
})
}

#グラフオブジェクト作成
g <- graph.adjacency(as.matrix(DDData), weighted = TRUE)
g <- simplify(g)

#ノードのパラメータ設定
V(g)$label <- V(g)$name
V(g)$degree <- degree(g)
V(g)$color <- as.integer(as.factor(Groups))
#エッジのパラメータ設定
E(g)$width <- E(g)$weight/10

#図の出力
png(filename = "DD.png", width = 1600, height = 1000, units = "px")
plot(g)
dev.off()

DD.png

できました。ノードの色は各チームが所属するグループ毎に変えています。

ハロプロは2015年に活動休止したベリーズ工房以外を除くと、DD度が高く出ています。
ベリーズ工房と℃-uteはベリキューで強く出てくるかと思ったんですが、そうでもありませんでした。
今回取得したフォロワーが直近500アカウントなので、それらアカウントは私のようにベリキューを知らない世代なのかもしれません。全アカウントをとればもしかしたら出るかも。

坂道もきれいに出てくれました。乃木坂ファンだったアカウントが欅坂も応援するケースが多いんでしょうか。

スターダストはももクロとエビ中のDD度がそれほど強く出ませんでした。
私の周りのモノノフの方々はエビ中も応援しているイメージがありますので、ここは強く出るかと思っていました。

48グループはメンバーが複数チームに所属(兼任)したり、チーム間の活動も多い印象があるため、
複数チーム応援するファンは多いものと思っていたのですが、
思ったより結びつきがあまり強く出ませんでした。
48グループ特有の地域性(バンコクとジャカルタについては地域性が出ています)のためかなと思いましたが、
48グループは多くのメンバーがTwitterアカウントを各々で持って発信しており、
公式ではなく推しメンをフォローしているため出にくいのかもしれません。
人気メンバーのフォロワーは、公式アカウントのフォロワーを大きく越えていますし。

ここではグループ間DDを見てきましたが、次回はメンバー間DDを見たいと思います。

※今回の結果の恐るべき示唆は私がハロヲタDDになるのも時間の問題ということでしょうか。。
posted by 石田泰浩 at 01:46| Comment(0) | アイドル | 更新情報をチェックする
この記事へのコメント
コメントを書く
コチラをクリックしてください