2009-05-01 25 views
1

これは私の挑戦です。 - 、全体の平均グレード、および製品は、受信評価数Excelでレビューの加重平均を得るには?

prod_id | pack | value | durable | feat | ease | grade | # of ratings 
1   75  85  99  90  90  88  1 
2   90  95  81  86  87  88  9 
3   87  86  80  85  82  84  37 
4   92  80  68  67  45  70  5 
5   93  81  94  93  90  90  4 
6   93  70  60  60  70  70  1 

各製品は、個々の等級基準(使いやすさのパッケージを)持っている:私はこのようになりますスプレッドシートを持っています。

データセット全体で、製品の68%が80-89グレードの範囲内にあります。製品のレーティング数を考慮に入れてグレードを再計算する必要があるため、レーティングの合計数をはるかに下回る製品はランクが低くなります(低グレードを受け取ります)。基本的には、84と100の等級の製品は、95の等級の製品のみよりも高い等級でなければなりません。

これは意味があることを願っています。事前に助けていただきありがとうございます。

+1

どのようにリモートでプログラミングに関連していますか?統計分析、はい。 –

+0

私はExcelでロジックを理解しようとしているので、PHP/MySQLで結果を再現できます。 –

+2

したがって、VBAはもはやプログラミングとは考えられていませんか?ジョエルは悲しいだろうが、私はそれについて幸せだ。 ;) –

答えて

1

私は計算せずに正確に伝えることはできませんが、それはそのような場合、その後、あなただけの「遠評価の合計平均数を下回る」定義する必要が

Grade = AVG(pack, value, durable, feat, ease) 

のように見えます。私は平均からの標準偏差に対して重み付けします - それはまともなアルゴリズムかもしれないし、そうでないかもしれません(私は統計学者ではありません)。しかし、これは正確に平均= 1である任意のレーティングを意味し、そこから+/-を取得します。

WeightedGrade = Grade * ABS((Rating - AVG(H:H))/STDEV(H:H)) 
1

必要なのは、重み付けに意味のあるアルゴリズムです。あなたは理にかなったものを選ぶことができますが、要件に基づいて最初に試してみるのは、生の等級に重み係数を掛けることです。評価の合計#で割っ評価の#の比率として答えのためにこれを与えることを計算します。

prod id raw grade # ratings weight   weighted grade 
1   88   1   0.01754386  1.543859649 
2   88   9   0.157894737  13.89473684 
3   84   37   0.649122807  54.52631579 
4   70   5   0.087719298  6.140350877 
5   90   4   0.070175439  6.315789474 
6   70   1   0.01754386  1.228070175 
         57  

これはあなたの問題のために理にかなっているが、それはあなたの要件を満たしていない場合はわかりません。たぶん、加重されたグレードを正規化して、プロダクトID#3が100になるようにし、それから残りの部分をスケールすることができます。

他のアイデアについては"Collective Intelligence"をご覧ください。

関連する問題