2011-06-07 50 views
0

我非常抱歉,如果我提前寫錯了這句話,但是我有一個很大的數據集,我試圖分析它,但是大部分數據都不正確,需要一些幫助來確定如何選擇正確的數據。如何預測數據質量?

這裏有一些更多的信息來清除它。例如,我有以下幾點:

color value quantity 
red  20 2 
blue 5 8 
green 10 2 

total  100 

如果只值和總被賦予的,我會發現有36個可能的答案:

#1 Found : 20.0*0.0 red + 5.0*0.0 blue + 10.0*10.0 green = 100.0 
#2 Found : 20.0*0.0 red + 5.0*2.0 blue + 10.0*9.0 green = 100.0 
#3 Found : 20.0*0.0 red + 5.0*4.0 blue + 10.0*8.0 green = 100.0 
#4 Found : 20.0*0.0 red + 5.0*6.0 blue + 10.0*7.0 green = 100.0 
#5 Found : 20.0*0.0 red + 5.0*8.0 blue + 10.0*6.0 green = 100.0 
#6 Found : 20.0*0.0 red + 5.0*10.0 blue + 10.0*5.0 green = 100.0 
#7 Found : 20.0*0.0 red + 5.0*12.0 blue + 10.0*4.0 green = 100.0 
#8 Found : 20.0*0.0 red + 5.0*14.0 blue + 10.0*3.0 green = 100.0 
#9 Found : 20.0*0.0 red + 5.0*16.0 blue + 10.0*2.0 green = 100.0 
#10 Found : 20.0*0.0 red + 5.0*18.0 blue + 10.0*1.0 green = 100.0 
#11 Found : 20.0*0.0 red + 5.0*20.0 blue + 10.0*0.0 green = 100.0 
#12 Found : 20.0*1.0 red + 5.0*0.0 blue + 10.0*8.0 green = 100.0 
#13 Found : 20.0*1.0 red + 5.0*2.0 blue + 10.0*7.0 green = 100.0 
#14 Found : 20.0*1.0 red + 5.0*4.0 blue + 10.0*6.0 green = 100.0 
#15 Found : 20.0*1.0 red + 5.0*6.0 blue + 10.0*5.0 green = 100.0 
#16 Found : 20.0*1.0 red + 5.0*8.0 blue + 10.0*4.0 green = 100.0 
#17 Found : 20.0*1.0 red + 5.0*10.0 blue + 10.0*3.0 green = 100.0 
#18 Found : 20.0*1.0 red + 5.0*12.0 blue + 10.0*2.0 green = 100.0 
#19 Found : 20.0*1.0 red + 5.0*14.0 blue + 10.0*1.0 green = 100.0 
#20 Found : 20.0*1.0 red + 5.0*16.0 blue + 10.0*0.0 green = 100.0 
#21 Found : 20.0*2.0 red + 5.0*0.0 blue + 10.0*6.0 green = 100.0 
#22 Found : 20.0*2.0 red + 5.0*2.0 blue + 10.0*5.0 green = 100.0 
#23 Found : 20.0*2.0 red + 5.0*4.0 blue + 10.0*4.0 green = 100.0 
#24 Found : 20.0*2.0 red + 5.0*6.0 blue + 10.0*3.0 green = 100.0 
#25 Found : 20.0*2.0 red + 5.0*8.0 blue + 10.0*2.0 green = 100.0 
#26 Found : 20.0*2.0 red + 5.0*10.0 blue + 10.0*1.0 green = 100.0 
#27 Found : 20.0*2.0 red + 5.0*12.0 blue + 10.0*0.0 green = 100.0 
#28 Found : 20.0*3.0 red + 5.0*0.0 blue + 10.0*4.0 green = 100.0 
#29 Found : 20.0*3.0 red + 5.0*2.0 blue + 10.0*3.0 green = 100.0 
#30 Found : 20.0*3.0 red + 5.0*4.0 blue + 10.0*2.0 green = 100.0 
#31 Found : 20.0*3.0 red + 5.0*6.0 blue + 10.0*1.0 green = 100.0 
#32 Found : 20.0*3.0 red + 5.0*8.0 blue + 10.0*0.0 green = 100.0 
#33 Found : 20.0*4.0 red + 5.0*0.0 blue + 10.0*2.0 green = 100.0 
#34 Found : 20.0*4.0 red + 5.0*2.0 blue + 10.0*1.0 green = 100.0 
#35 Found : 20.0*4.0 red + 5.0*4.0 blue + 10.0*0.0 green = 100.0 
#36 Found : 20.0*5.0 red + 5.0*0.0 blue + 10.0*0.0 green = 100.0 

正如你可以看到,在準備我得到正確的答案,但也有很多其他的答案。現在我說再加一個紅色(所以紅色的總數是3),那麼我現在有49個結果,但是如果考慮到與第一個結果集的關係,第二組結果中的一些結果不太可能。我假設當我得到更多的數據結果時,我可以更準確地刪除不起作用的結果。

我想知道是否有任何研究或標準方法將結果縮小到更有意義的結果。我不是100%確定的,但我認爲也許谷歌可能是一個例子,因爲每個查詢不僅是針對數據運行的,而且是您的歷史記錄(我有一個排名非常低的網站,當我點擊它然後搜索因爲它再次總是出現在頂端..但是當我在我的朋友計算機上搜索時,同一站點顯示在底部)。我想可能是谷歌與我們的多個搜索查詢建立關係的方式,我可以使用類似的方法從上面的數據中刪除結果,這些結果是不正確的。

對不起,誤會。我對算法有點新,而我無法解釋這一點。如果沒有意義,請告訴我。

在此先感謝!

+1

我還不能形成一個完整的答案,但它聽起來像一個線性代數問題。讓我直截了當地說,你想要a,o,p這樣'20a + 5o + 10p = 100'?其中a是蘋果數量,o是橙子數量,p是梨子數量?你想確定一個合理的解決方案是什麼,或者有多少合理的解決方案?對不起,如果我完全誤解。 – Chance 2011-06-07 01:17:44

+0

你的意思是「這可能有36種組合」? – Bohemian 2011-06-07 01:18:49

+0

你的意思是「總卡路里」或「總食物」? – sarnold 2011-06-07 01:23:18

回答

2

如果我得到這個權利你解決像這樣的方程爲

R*r + G*g + B*b = 100 

對於R,G,B的給定整數值和條件是R的約束,G,B也整數值。

因爲你只有一個方程和3變量,你會得到一個解空間,而不是一個單一的解決方案,現在要應用一些算法來選擇正確的或最好的一個

也似乎有R0的值,g0,b0這些可能是r,g和b的值!

你需要提出的是一個健身功能,它告訴你你的候選解決方案有多好或多壞。

一個例子可能是(值越低意味着更好的解決方案)

(r-r0)^2 +(g-g0)^2 +(b-b0)^2 

這基本上說,一個解決方案是更好的時候,更接近可能值。

變體能是

(r-r0)^2 +(g-g0)^2 +(b-b0)^2 + c*C 

其中C是一個常數,由你和C作爲選件是該值的數量從可能的解決方案有所不同。這會給候選人帶來更高的適應性,只改變一個值而不是改變兩個或三個值。

一旦你有一個健身功能,選擇適合度最低的解決方案。

+0

通常,適應度函數表示具有更高值的更好解決方案。當較低的值更可取時,您可能想將其稱爲成本函數。一般有用的建議,否則,所以我upvoting。 – 2011-06-07 06:43:21

+0

謝謝Jens ..這是我正在尋找的解決方案(我只是在可怕地解釋它)。我做了一些健身功能的介紹性閱讀,看起來非常好。這些類型的問題還有其他方法嗎? – Lostsoul 2011-06-07 13:03:51

+0

可能的健身/成本功能的數量是無限的。由於您似乎在使用顏色,因此可能會出現兩種顏色之間的感知距離,這可能對您有用。當您的數據量和可能的解決方案數量變得巨大時,您可能需要考慮優化更智能的算法,然後對選項進行排序並選擇第一種。可能使用找到好但不總是最佳解決方案的算法。 – 2011-06-07 13:42:53

0

該問題被稱爲線性丟番圖方程。 你可以找到更多的信息here

+0

謝謝Klas ..我明白,這個問題更多的是如何根據數據的歷史來選擇更真實的結果。 – Lostsoul 2011-06-07 13:04:46