3

Twitterは最近、フォロワー数を次の式に入力することで、任意のTwitterユーザーのランクを高精度で概算できることを発表しました。

exp($ a + $ b * log(follower_count))

ここで、$ a=21および$b= -1.1

これは、特定のユーザーのフォロワー数でユーザーのリスト全体を並べ替えるよりも明らかにはるかに効率的です。

別のソーシャルサイトから同様のデータセットがある場合、そのデータセットに合うように$aと$bの値をどのように導き出すことができますか?基本的に、分布がべき法則であると想定される周波数のリスト。

4

2 に答える 2

6

次のモデルがあります。

y = exp(a + b.log(x))

これは次と同等です:

log(y) = a + b.log(x)

したがって、データセットのログを取得すると、線形モデルになります。したがって、線形回帰を使用して、との最適な値を決定aできますb

しかし、これはすべて私にはかなり無意味に聞こえます。特定のネットワークサイトがこの種の関係を使用してユーザーランクを決定すると誰が言いますか?

于 2011-01-05T23:12:03.737 に答える
1

「ソルバー」という名前のMicrosoftExcelアドインを使用できます。Excelに含まれていますが、デフォルトで常にインストールされるとは限りません。Excelバージョンで「アドイン」と「ソルバー」を探してロードします。

アドインをインストールした後、次の手順を実行します。

  1. 新しいワークシートを作成します。列Aに、各個人のIDを入力します(オプション)

  2. 列B、フォロワーの数。

  3. データがソートされていない場合は、列Bを使用してソートします。

  4. 列Cにランキングを入れます(あなたが知っている、1、2、3など)

  5. セルD1に値21を置き、セルE1に-1.1を置きます。これらは、$Aと$BのTwitterの値です。これらが私たちの基本値です。それらはおそらく変わるでしょう。

  6. セルD2に、次のような数式を入力します。= exp($ E $ 1 + $ F $ 1 * log(B2))

  7. データの最後にあるD2の式をコピーします。

  8. セルE2に数式を入力して、実際のランキングを数式の結果(分散)と比較します。例:= sqrt(c2 * c2 + d2 * d2)。実際の値と予測値が近いほど、値は0になる傾向があります。

  9. セルE2をデータの最後にコピーします。

  10. データの下部の列Eで、分散を合計します。たとえば、データに10,000個の値があるとします。セルE10001に=sum(e2:e10000)と入力します。

  11. メニューデータに移動し、「ソルバー」メニューの場所を探します。場所は、Excelのバージョンによって大きく異なる場合があります。「ヘルプ」機能を使用して、ゴールシークを検索します。

  12. ソルバーアドインを使用するには、ヘルプの指示(今すぐ移動する必要があります)に従ってください。明らかに、変化するセルはD1とE1であり、目標はE10001(分散の合計)を可能な限りゼロに近づけることです。

于 2011-01-05T23:46:15.333 に答える