簡體   English   中英

最小平方中位數穩健回歸C ++

[英]Least Median of Squares robust regression C++

我有一組數據z(0), z(1), z(2)...,z(n) ,我目前正在擬合p(x,y) = a(1)*x^2+a(2)*y^2+a(3)*x*y+a(4)的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解決的超定系統。 我要尋找的是可以采取異常的照顧,如廣場穩健回歸的最正中一個更復雜的方法(如描述在這里 ),但我還沒有找到2個變量一個C ++實現。 我查看了GSL,但似乎沒有2個變量函數。 我能想到的唯一其他解決方案是在ROOT中使用TGraph2D。 你知道其他任何解決方案嗎? 數字食譜可能嗎? 由於我正在編寫C ++代碼,我更喜歡C或C ++實現。

由於尚未給出答案,但我仍然在研究這個問題,我將在此分享我的進展。

類TLinearFitter有一個擬合方法,允許您選擇魯棒擬合 - 最小修正方形回歸(LTS):

https://root.cern.ch/root/html532/TLinearFitter.html

另一種可能的解決方案,可能更耗時,但從長遠來看可能更有效率是編寫我自己的函數以最小化,並使用: https//projects.coin-or.org/Ipopt來最小化它。 雖然在這種方法中有一個更大的“步驟”。 我不知道如何使用該庫,但我還沒有找到一個很好的教程來理解它。

這里: https ://wis.kuleuven.be/stat/robust/software有一個名為PROGRESS的LMedS算法的Fortran實現。 因此,另一種可能的解決方案是將此軟件移植到C / C ++並從中創建一個庫。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM