我正在为我的应用程序中的位置编写一个评分算法算法执行以下操作:takes the average rating of a club and mulitplies by a club multiplier
a club multiplier is a decimal mulitplied against the average rating to account for a clubs impression against the total
目前我的算法如下:CLUB RATING = SUM(RATINGS FOR CLUB) / COUNT(RATINGS FOR CLUB)
CLUB MULTIPLIER = CLUB TOTAL NUMBER OF RATINGS / TOTAL NUMBER OF RATINGS FOR ALL CLUBS
WEIGHTED VALUE = CLUB RATING * CLUB MULTIPLIER
我自己想出了这个算法。
我认为,通过对所有俱乐部的评级数量来计算俱乐部的影响力评级数量是乘数,我们将其与标准平均数相乘,以确定该俱乐部对所有俱乐部的加权平均数。
这是我的结果数据集:
Array
(
[0] => Array
(
[locid] => 332
[totalclubsnumratings] => 12321
[clubaveragerating] => 4.4
[clubnumratings] => 1121
[clubmultiplier] => 9.0982874766659
[weightedvalue] => 40.00
)
[1] => Array
(
[locid] => 329
[totalclubsnumratings] => 12321
[clubaveragerating] => 3.1
[clubnumratings] => 909
[clubmultiplier] => 7.3776479181885
[weightedvalue] => 23.00
)
[2] => Array
(
[locid] => 1681
[totalclubsnumratings] => 12321
[clubaveragerating] => 4.7
[clubnumratings] => 517
[clubmultiplier] => 4.1960879798718
[weightedvalue] => 20.00
)
[3] => Array
(
[locid] => 1710
[totalclubsnumratings] => 12321
[clubaveragerating] => 4.1
[clubnumratings] => 505
[clubmultiplier] => 4.0986932878825
[weightedvalue] => 17.00
)
[4] => Array
(
[locid] => 3312
[totalclubsnumratings] => 12321
[clubaveragerating] => 4.2
[clubnumratings] => 398
[clubmultiplier] => 3.2302572843113
[weightedvalue] => 14.00
)
)
问题是我无法判断它的计算是否正确具有
locid 329
的俱乐部(第二个俱乐部)的收视率较高,但其平均收视率比第三个俱乐部小得多,具有locid 1681
的俱乐部收视率较少,但平均收视率较高。我是否应该期望订购一些权重值较高但俱乐部平均评级较低的俱乐部,或者我是否缺少重新确定俱乐部评级的第二个算法?
我想找个人看看这个,告诉我这个算法有什么错误。
最佳答案
如果你想让黑客想出合理的不确定性,首先计算所有俱乐部的所有投票的平均投票方差。
然后,对于每个俱乐部,将其评级的标准差称为sqrt(variance * votes)
(这是事实上的错误。但效果会很好。)你有一个中位数和一个95%的置信区间,两边各有2个标准差。
现在你可以选择对俱乐部持悲观态度,给每个俱乐部的评级,比如说,低于他们的中位数1个标准差如果你这样做,那么一个拥有25.0分的俱乐部在100张选票后可能会比一个拥有4.5分的俱乐部更糟。要想获得一个真正的顶级排名,你必须两个都做得很好,并且拥有很多选票。
关于php - 评分算法似乎已关闭,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33576155/