我有一套數據z(0), z(1), z(2)...,z(n)
,我目前正在擬合一個2變量多項式的類型p(x,y) = a(1)*x^2+a(2)*y^2+a(3)*x*y+a(4)
。我有i=1,...,n
(x(i),y(i))
座標,我強加的是p(x(i),y(i))=z(i)
。這樣我就可以使用Eigen SVD來解決一個超定系統。我正在尋找一種更復雜的方法,可以處理異常值,如最小中值平方穩健迴歸(如here所述),但我還沒有找到2個變量的C++實現。我看着GSL,但似乎沒有什麼2變量功能。我能想到的唯一的其他解決方案是在ROOT中使用TGraph2D。你知道任何其他解決方案嗎?數字食譜可能?由於我正在編寫C++代碼,我更喜歡C或C++實現。最小平方中值的正方形穩健迴歸C++
1
A
回答
0
既然還沒有答案,但我仍然在處理這個問題,我會在這裏分享我的進展。
類TLinearFitter有一個合適的方法,它允許您選擇強大的配件 - 截尾最小二乘迴歸(LTS):
https://root.cern.ch/root/html532/TLinearFitter.html
另一種可能的解決方案,更多的時間也許耗時,但也許更多從長遠來看高效率是寫我自己的功能被最小化,並且使用: https://projects.coin-or.org/Ipopt來最小化它。雖然在這種方法中有一個更大的「步驟」。我不知道如何使用這個庫,但我還沒有找到一個很好的教程來理解它。
here:https://wis.kuleuven.be/stat/robust/software有一個名爲PROGRESS的LMedS算法的Fortran實現。因此,另一個可能的解決方案可能是將此軟件移植到C/C++並從中創建一個庫。
相關問題
- 1. sjPlot穩健迴歸?
- 2. MATLAB fitlm:OLS與穩健迴歸
- 3. 穩健統計線性迴歸pairplot
- 4. 在Android中獲取專輯封面的最穩健的方式
- 5. statsmodels - 穩健線性迴歸中的權重
- 6. 歸一化最小均方 - C實現
- 7. 在Java中的正方形的遞歸平分
- 8. C++遞歸平方根
- 9. 面板數據迴歸:穩健的標準錯誤
- 10. z3opt python - 最小化正方形
- 11. 最快或最穩健的方式來並行7肥皂api請求
- 12. 更穩健的方式獲取Javascript Bookmarklet中的location.href?
- 13. 在Selenium WedDriver C#中等待元素的更好和穩健的方法?
- 14. C++中數組的最大值,最小值,平均值函數
- 15. 最快的C++方式返回值
- 16. 最近的矩形/正方形給定面積大小
- 17. C#爲什麼最小值和最大值的方法不能正常工作
- 18. 查找R平方爲多元迴歸
- 19. 平方根遞歸
- 20. 爲社交應用程序構建穩健的API的正確方法?
- 21. 二維子陣列(一個較大的正方形中的較小正方形)
- 22. 循環平穩立方體的大小增加
- 23. 以平穩的方式更改Textarea大小
- 24. C/C++中的最小二乘迴歸問題
- 25. 其中正方形是兩個平方和的數字列表
- 26. Python的最小平方與scipy.integrate.quad
- 27. 適合Google腳本的最小平方
- 28. Rototranslation的最小平方約束
- 29. SciPy的非線性最小平方
- 30. 穩健地映射枚舉值
最後我使用TLinearFitter :: EvalRobust方法。它運作良好,主要缺點當然是性能。 SVD要快得多。 – BiA