我有這種形式的數據:要執行此操作,將需要哪種算法?
- 對於x = 1,y是{1,4,6,7,9,18,16,19}
- 對於x = 2,Y的一個是{1,5,7,4}
- 對於x = 3之一,Y是{2,6,4,8,2}
- 一個....
- 對於x = 100, y是{2,7,89,4,5}中的一個
每組中只有一個值是正確的值,其餘是隨機的n瓦茲。
我知道正確的值描述了一個參數未知的正弦函數。我怎樣才能找到正確的值組合,每組一個? 我期待像「貨郎擔」組合優化算法
我有這種形式的數據:要執行此操作,將需要哪種算法?
每組中只有一個值是正確的值,其餘是隨機的n瓦茲。
我知道正確的值描述了一個參數未知的正弦函數。我怎樣才能找到正確的值組合,每組一個? 我期待像「貨郎擔」組合優化算法
你正在試圖做curve fitting,對此有具體取決於您希望以適應你的曲線(線性,多項式等曲線類型幾種算法)。我不知道是否有特定的正弦曲線算法(傅里葉近似),但我的第一個想法是使用正弦多項式近似的多項式擬合算法。
我想知道您是否需要在另一個較大的程序中這樣做,或者您是否嘗試單獨完成此任務。如果是這樣,那麼使用統計軟件包會更好,我的首選是R。它允許你導入你的數據,適合曲線和繪製幾行圖形,你也可以使用批處理模式下的R來從腳本甚至程序中調用它(這是我傾向於做的)。
曲線擬合將找到給定數據的方程,但在這裏我的問題是選擇數據,例如它將「準確」地擬合曲線。因爲插值和曲線擬合都需要特定的值,所以插值也不適用於我。這裏是每個x的一個y值,他們不會從集合中選擇任何一個值 – user420553 2010-08-14 18:47:34
老實說,有這麼多的約束(精確匹配,主要是)和很少的信息(沒有參數的正弦曲線),我真的不明白你可能無法徹底嘗試組合,直到他們完美地描述正弦曲線。但我承認在這個領域沒有權威! – 2010-08-14 18:56:16
這取決於你「準確」的意思,以及你事先知道的。如果您知道頻率W,並且該正弦波是公正的,你有一個公式
一個COS(W * X)+ B罪(W * X)在
兩個(X,Y)點您可以找到不同的x值a和b,然後針對所有其他點檢查生成的曲線。選擇y觀測值最小的兩個x值,並嘗試用於所有y值。如果存在偏差,即您的公式爲
a cos(w * x) + b sin(w * x) + c
您需要查看三個x值。
如果您不知道頻率,可以嘗試相同的技術,但不幸的是解決方案可能不是唯一的,可能有多個w適合。
編輯正如我理解你的問題,你有一個真正的y值爲每個x和一堆不正確的。你想找到真正的價值。做到這一點的最佳方法是通過少量點擬合曲線,並檢查曲線是否適合其他組中的某個y值。
如果不是所有的x值都有有效的y值,那麼應用相同的技術,但是您需要查看更大的一組對,三元組或四元組(基本上每對具有不同y的點,三元組或四元組)值)
如果您的問題是別的,我懷疑它是,請指定它。
a cos(w * x) + b sin(w * x) + c
的功能。如果你的意思不同,請指定它。2指定成功的樣子。說10分而不是100的例子會很好。
這與組合優化有什麼關係是非常不清楚的。
曲線擬合將爲我輸入的任何數據給出正弦曲線方程,並將與我輸入的數據最接近。我需要組合其中有一些模式的數據(找到方程的參數不是我的目標),我的目標是在許多其他值中找出這個值 – user420553 2010-08-14 19:24:21
一旦你有方程的參數找到其他點很容易。沒有先確定參數就找到點是行不通的。 – deinst 2010-08-14 19:33:57
thnx,是多數民衆贊成我想要但檢查每一種可能性將是詳盡的有沒有任何有效的方法,如果不是我必須使用上述方法,它的罰款如果解決方案不是唯一的(但有很小的概率,隨機噪聲值將完全符合正弦曲線)我不知道頻率它會更容易,如果我有 – user420553 2010-08-14 19:36:02
正弦方程如此一般,以至於如果你取任意一個y的隨機值,這些值可以用正弦函數擬合,除非你給出了例如。頻率< 100或所有參數均爲整數,因此無法從理論上分散噪聲和數據,因此需要先從數據源/實驗中找到這些條件。
通過正弦曲線,你的意思是一個函數,增加了n個步驟,然後減少n個步驟等?如果是這樣,您可以將數據建模爲由上行鏈路和下行鏈路連接的一系列節點。對於每個節點(y的可能值),記錄只有上升或下降鏈接的鏈的長度和結束值(每個節點會有多個鏈)。然後掃描連續的長度相等的方向,以一些初始偏移爲模。
你知道頻率嗎?一些綁定在頻率上? – deinst 2010-08-14 19:08:58
另外,你們觀察到的所有值都是正值,是正弦曲線嗎? – deinst 2010-08-14 19:10:36
好點...通過選擇非常高的頻率,你可能會做出**所有**可能的選擇y fit ... – 2010-08-14 19:55:40