2015-01-13 58 views
0

我目前有一個問題,我有一個最終結果和有助於它的值,但我不知道每個值的權重是什麼,以最終結果。找到多個值的所有百分比組合

簡化示例:11555 + -34.65 + 350 = 26

我不知道如何以數學計算的加權,已經建議我使用線性迴歸和用於普通最小二乘的公式。說實話,這有點超出我的想法,我正在尋找替代解決方案。

我打算做的事情,因爲我有很多樣本數據,就是對數值使用暴力方法,在這裏我使用每個值的百分比來貢獻結果,並比較並保持提供最小差異的百分比。

我在努力的是,我如何覆蓋所有值的所有百分比組合?

例如對於3個值,百分比將是這樣的。

v1 v2 v3  % 
98 1 1 = 100 
97 2 1 = 100 
96 2 2 = 100 
95 3 2 = 100 
94 3 3 = 100 
.    
.    
.    
4 48 48 = 100 
3 49 48 = 100 
2 49 49 = 100 
1 50 49 = 100 

我希望這個解釋很清楚,我會很感激你能給予的幫助。我正在用Java編寫程序。

+2

這得到所有可能的組合可能是一個很好的時間去了解普通最小二乘迴歸。這是工作的正確工具,應該比你提出的要快得多,也更準確。 – templatetypedef

+2

只是設置所有的權重,除了最後一個按比例縮放你的答案之外什麼是錯誤的。 IE'11555 * 0 + -34.65 * 0 + 350 * 0.0742' –

+0

您是否知道百分比沒有分數,即「int」值而不是「double」值? –

回答

0

你可以用這個代碼

for (int i = 98; i > 0; i--) { 
    for (int j = 1; j+i < 100; j++) { 
     int k = 100 - i - j; 
     //do stuff with i,j,k 
    } 
} 
+0

非常感謝,這是一個很好的領導。我應該避免爲了我的需要而擴展這個... – ezoray