2014-06-16 5 views
3

Math.NET에서 간단한 선형 회귀 분석을 수행하고 있습니다.Math.NET에서 제약 조건이있는 선형 회귀

아래와 같은 공통 코드 샘플을 제공했습니다. 이 예제의 대안은 단순 선형 회귀에 Fit 클래스를 사용할 수 있습니다.

추가로 원하는 것은 고정 y 절편과 같은 추가 제약 조건을 지정하거나 고정 점을 통과하도록 맞춤을 강제하는 것입니다. (2, 2). Math.NET에서이를 달성하는 방법은 무엇입니까?

var xdata = new double[] { 10, 20, 30 }; 
var ydata = new double[] { 15, 20, 25 }; 

var X = DenseMatrix.CreateFromColumns(new[] {new DenseVector(xdata.Length, 1), new DenseVector(xdata)}); 
var y = new DenseVector(ydata); 

var p = X.QR().Solve(y); 
var a = p[0]; 
var b = p[1]; 
+0

합니다. 당신이 맞는 수학적 모델, 자유 매개 변수의 수를 변경. – LutzL

답변

1
(X0, Y0)는 회귀선이 통과해야하는 지점 인 경우 당신은 당신의 데이터는 제약 조건을 반영하고 표준 math.Net 선형 회귀

를 사용하도록 설정 수정할 수 있습니다

, 은 모델 y-y0 = β (x-x0) + ε, 즉 " 인터셉트"가없는 선형 회귀를 변환 된 데이터 세트에 맞 춥니 다.

는 여기를 참조하십시오 여기 https://stats.stackexchange.com/questions/12484/constrained-linear-regression-through-a-specified-point

과 : 당신은 함수 클래스 RESP를 변경해야 http://en.wikipedia.org/wiki/Linear_least_squares_(mathematics)#Constrained_linear_least_squares