予測的ソーシャルネットワーク分析のためのデータマイニング

公開: 2022-03-11

人々が最初に交流し始めて以来、何らかの形でソーシャルネットワークが存在してきました。 確かに、2人以上をまとめると、ソーシャルネットワークの基盤ができます。 したがって、今日のインターネットでは、世界中のどこでも、オンラインソーシャルネットワークが完全にユビキタスになっているのは当然のことです。

オンラインソーシャルネットワークのこの世界の中で、過去10年間の特に魅力的な現象は、「インターネットのSMS」と呼ばれることが多いTwitterの爆発的な成長でした。 2006年に立ち上げられたTwitterは急速に世界的な人気を博し、世界で最も訪問された10のWebサイトの1つになりました。 2015年5月の時点で、Twitterは3億200万人のアクティブユーザーを誇り、1日あたり5億件のツイートをまとめて作成しています。 そして、これらの数は継続的に増加しています。

この膨大な量のソーシャルメディアデータを考えると、アナリストはTwitterを、データマイニング、ソーシャルネットワーク分析、世論の傾向を感知するための情報、およびさまざまな政治的および社会的イニシアチブ。 データサイエンス企業は、Twitterのトレンドトピックが世論を測定するための貴重なプロキシとしてますます有用であることに気づいています。

ソーシャルネットワーク分析とデータマイニング

この記事では、2014年のブラジル総選挙での地域の投票パターンをサンプルテストケースとして予測するために、Twitterトレンドトピックを効果的に分析する概念実証に採用した手法について説明します。

選挙

2014年10月5日にブラジルで総大統領選挙が行われました。投票の50%を超える候補者がいなかったため、10月26日に2回目の決選投票が行われました。

第1ラウンドでは、ジルマ・ルセフ(Partido dos Trabalhadores)が投票の41.6%を獲得し、Aecio Neves(Partido da Social Democracia Brasileira)が33.6%、Marina Silva(Partido Socialista Brasileiro)が21.3%を獲得しました。 ルセフとネベスは10月26日に決選投票に異議を唱え、ルセフは51.6%からネベスの48.4%にわずかな差で再選されました。 この記事の分析は、特に10月26日の選挙に関連しています。

Partido dos Trabalhadores(PT)は、ブラジルで最大の政党の1つです。 これは、現大統領と元大統領、ジルマ・ルセフとルイス・イナシオ・ルラ・ダ・シルバの政党です。 Partido da Social Democracia Brasileira(PSDB)は、フェルナンドエンリケカルドソ前大統領の政党です。

データマイニングとTwitterトレンドトピックデータの抽出

ソーシャルメディアデータマイニングは、Twitter APIを介してデータが提供されるブラジルの14の都市、つまり、ブラジリア、ベレン、ベロホリゾンテ、クリチバ、ポルトアレグレ、レシフェ、リオデジャネイロ、サルバドール、サンパウロのTwitterトレンドトピックデータを抽出することから始めました。パウロ、カンピナス、フォルタレザ、ゴイアニア、マナウス、サンルイス。

私はTwitterRESTAPIに問い合わせて、これらの14都市のトップ10のTwitterトレンドトピックを20分間隔で取得しました(TwitterのAPIに対するいくつかの制限によって制限されています)。 クエリをこれらの14の都市に制限するには、Yahoo!を指定します。 GeoPlanet WOEID(Where On Earth ID)。

この概念実証では、PythonとTwitterライブラリ(巧妙に「twitter」と呼ばれます)を使用して、決選投票の日(10月26日)と2日前(10月)のすべてのソーシャルネットワークデータを取得しました。 24日と25日)。 毎日、約70の異なるクエリを実行して、インスタントトレンドトピックを特定しました。

以下は、各クエリに応答して返されるJSONオブジェクトの例です(この例は、10月26日の午前12:40:00のデータのクエリに基づいており、ベロオリゾンテのデータのみを示しています)。

 [{"created_at": "2014-10-26T02:32:59Z", "trends": [{"url": "http://twitter.com/search?q=%23GolpeNoJN", "name": "#GolpeNoJN", "query": "%23GolpeNoJN", "promoted_content": null}, {"url": "http://twitter.com/search?q=%23SomosTodosDilma", "name": "#SomosTodosDilma", "query": "%23SomosTodosDilma", "promoted_content": null}, {"url": "http://twitter.com/search?q=%23EAecio45Confirma", "name": "#EAecio45Confirma", "query": "%23EAecio45Confirma", "promoted_content": null}, {"url": "http://twitter.com/search?q=Uilson", "name": "Uilson", "query": "Uilson", "promoted_content": null}, {"url": "http://twitter.com/search?q=%22Lucas+Silva%22", "name": "Lucas Silva", "query": "%22Lucas+Silva%22", "promoted_content": null}, {"url": "http://twitter.com/search?q=%22Marcelo+Oliveira%22", "name": "Marcelo Oliveira", "query": "%22Marcelo+Oliveira%22", "promoted_content": null}, {"url": "http://twitter.com/search?q=Cruzeiro", "name": "Cruzeiro", "query": "Cruzeiro", "promoted_content": null}, {"url": "http://twitter.com/search?q=Tupi", "name": "Tupi", "query": "Tupi", "promoted_content": null}, {"url": "http://twitter.com/search?q=%22Real+x+Bar%C3%A7a%22", "name": "Real x Bar\u00e7a", "query": "%22Real+x+Bar%C3%A7a%22", "promoted_content": null}, {"url": "http://twitter.com/search?q=Wanessa", "name": "Wanessa", "query": "Wanessa", "promoted_content": null} ], "as_of": "2014-10-26T02:40:03Z", "locations": [{"name": "Belo Horizonte", "woeid": 455821}] }]

ソーシャルネットワーク分析の簡単な紹介

ソーシャルネットワーク理論は、人々、組織、またはグループがネットワーク内で他の人とどのように相互作用するかについての研究です。 ソーシャルネットワークには、主に3つのタイプがあります。

  • 自己中心的なネットワークは、単一のノードまたは個人(たとえば、あなたとすべての友人や親戚)に接続されています。
  • 社会中心のネットワークは、デフォルトでは閉じたネットワークです。 このタイプのネットワークの2つの一般的に使用される例は、教室の子供または組織内の労働者です。
  • オープンシステムネットワークは、境界線が明確に定義されていないネットワークであるため、このタイプのネットワークは通常、調査が最も困難です。 この記事で分析している社会政治的ネットワークのタイプは、オープンシステムネットワークの例です。

ソーシャルネットワークは、要素間の接続パターンが純粋に規則的でも純粋にランダムでもない、自明ではないトポロジー的特徴を表示するため、複雑なネットワークと見なされます。

ソーシャルネットワーク分析は、社会的実体間の関係の構造を調べます。 これらのエンティティは多くの場合人ですが、社会集団、政治組織、金融ネットワーク、コミュニティの居住者、国の市民などの場合もあります。 ネットワークの実証的研究は社会科学において中心的な役割を果たしており、ネットワークの研究に使用される数学的および統計的ツールの多くは、社会学で最初に開発されました。

ネットワークの確立

Twitterトレンドトピックを使用してネットワークを作成するために、次のルールを定義しました。

  • 各都市は、ネットワーク内の頂点(つまりノード)です。
  • 2つの都市間に少なくとも1つの共通の傾向トピックがある場合、それらの都市間にエッジ(つまりリンク)があります。
  • 各エッジは、これら2つの都市に共通するトレンドトピックの数に応じて重み付けされます(つまり、2つの都市に共通するトレンドトピックが多いほど、それらの間のリンクに起因する重みが大きくなります)。

たとえば、10月26日、フォルタレザとカンピナスの都市には11のトレンドトピックが共通していたため、その日のネットワークには、フォルタレザとカンピナスの間の重みが11のエッジが含まれています。

ソーシャルネットワークの作成プロセスの図解

さらに、都市間の関係を重み付けするプロセスを支援するために、選挙自体に関連しないトピックも検討しました(他の共通の優先順位と利益を共有する都市は、同じ政治的傾向を共有する傾向がある可能性があるという前提です) )。

トレンドトピックの順序は、分析にある程度の重要性をもたらす可能性がありますが、概念実証を簡素化するために、トレンドトピックリスト内のトピックの順序を無視することにしました。

ネットワークトポロジー

ネットワークトポロジは、基本的に、ネットワークのさまざまな要素(リンク、ノードなど)の配置です。 分析しているソーシャルネットワークの場合、ネットワークのノード(つまり、14の都市)は固定されたままであるため、ネットワークトポロジは3日間で劇的に変化しません。 ただし、24日目と25日目のネットワークトポロジの以下の比較に示すように、都市間の一般的なトレンドトピックの数は3日間で異なるため、ノード間のリンクの重みに違いが検出されます。

図解されたソーシャルネットワークトポロジ

Twitterトレンドトピックデータを使用した選挙結果の予測

選挙結果の予測を支援するために、都市間で共通のトレンドトピックだけでなく、それらのトピックの内容が2つの主要政党のそれぞれに対する支持の可能性にどのように関連しているかについても検討します。 つまり、Partido dos Trabalhadores(PT)とPartido da Social Democracia Brasileira(PSDB)です。

最初に、一方の当事者に前向きに傾いている、または一方の当事者を支持していることを示すと思われる単語やフレーズのリストを作成しました。 (このリストに入力することは、確かに非常に複雑な作業です。この概念実証のコンテキストでは、意図的に単純化されたアプローチを採用しました。どちらかといえば、これにより、用語のリストがより高度に調整されているため、結果の口径がさらに興味深いものになります。フレーズはおそらく結果の精度をさらに向上させるでしょう。)

次に、ノードごとに、次のことを数えます。

  • PTのサポートを示す用語を含むリンクの数
  • PSDBのサポートを示す用語を含むリンクの数

再びフォルタゼラの街を例にとると、私は次のように数えられました。

 Fortaleza['PT'] = 56 Fortaleza['PDSB'] = 37

これにより、フォルタレザの住民は、Partido dos Trabalhadores(PT)を全体的に好むという結論を導き出します。

結果と結論

このアルゴリズムに基づいて、分析は実際の選挙結果と驚くほど類似した結果をもたらします。特に、私たちのアプローチの一般的な単純さを考慮するとそうです。 Twitterトレンドトピックデータに基づく予測結果と実際の選挙結果を比較すると、次のようになります(赤はPartido dos Trabalhadoresを表すために使用され、青はPartido da Social Democracia Brasileiraを表すために使用されます)。

ソーシャルネットワーク分析とデータマイニング

改善された科学的厳密性、およびより洗練されたアルゴリズムとメトリックは、間違いなく結果をさらに改善するでしょう。

たとえば、ノードの重要性や影響力を推測するために使用できるいくつかのメトリックを次に示します。これにより、この記事で説明する予測分析のタイプを知ることができます。

  • ノードの中心性。 ネットワーク内で最も重要または影響力のあるノードを特定するために使用できるノード中心性の測定値は多数存在します。 たとえば、中間中心性は、ノードが他の多くのノード間にブリッジを形成する場合、そのノードを非常に重要であると見なします。 一方、固有値の中心性は、ノードにリンクしている他の非常に重要なノードの数に基づいてノードの重要性に基づいています。

  • クラスタリング係数。 ノードのクラスタリング係数は、ノードの「ネイバー」が相互に接続されている程度を測定します。 これは、隣接ノードに対するノードの推定影響度の評価に関連する可能性のあるもう1つの指標です。

  • 次数の中心性。 次数の中心性は、ノードへのリンク(つまり、接続)の数に基づいています。 これは、ネットワーク内のノードの「重要性」の最も簡単な尺度の1つです。

しかし、そのレベルの洗練度がなくても、この単純な概念実証で達成された結果は、Twitterトレンドトピックデータを使用した効果的な予測分析の説得力のあるデモンストレーションを提供しました。 将来的には、ソーシャルメディアのデータ分析をさらに進める可能性があることは明らかです。


Toptal Engineeringブログでさらに読む:

  • Python/NetworkXを使用したグラフデータサイエンス