2009-05-01 5 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 

각 제품은 각각의 등급 기준을했다 : I는 다음과 같습니다 스프레드 시트를 가지고있다.

전체 데이터 세트 중 80-89 학년 범위 내에 제품의 68 %가 있습니다. 제품의 등급 수를 고려하여 성적을 다시 계산해야하므로 총 평균 평점 수보다 훨씬 낮은 제품은 낮은 순위로 평가되고 낮은 등급이 부여됩니다. 기본적으로 84 등급과 100 등급의 제품은 등급이 5 등급 인 제품보다 높은 등급이어야합니다.

사전에 도움을 주셔서 감사합니다.

+1

원격 프로그래밍과 관련하여 어떻게 관련이 있습니까? 통계 분석, 네. –

+0

글쎄, 나는 PHP/MySQL에서 결과를 재현 할 수 있도록 Excel에서 로직을 파악하려고 노력하고있다. –

+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"을보십시오.