y = β 1 형식의 데이터가 있습니다. . ~의 추정을위해이 논문의 공식을 사용합니다 :John Fox-비선형 회귀 및 비선형 최소 제곱 이 논문에서,은 데이터를보고 추정됩니다. 내가 그렇게하면 3 점 만 있어도 잘 작동합니다. 그로부터 나는 다른 두 사람을 계산할 수 있습니다. R의 nls ()와 C #의 LevenbergMarquardt를 사용하여 매개 변수를 테스트했습니다. 그들에 의해 반환 된 모델은 만족합니다.
측정은 다음과 같습니다.
x = (40, 50, 60, 70), y = (1000, 950, 400, 200)-> 추정하기 쉬움
x = (40, 50, 60, 70), y = (1000, 950, 800, 100)-> 추정하기 쉬움
x = (40, 50, 60, 70), y = (500, 200, 100, 50)-> 추정하기 쉽지 않음
주어진 지점의 델타를 계산하여 함수의 위치 ( "아래쪽", "위쪽", 경사면)를 찾을 수 있고 그에 따라 상한을 계산할 수 있습니다. 더 나은 솔루션에 대한 힌트가 있습니까? 추가 정보 : 수행 할 수없는 경우 적합 할 수있는 측정이 가능한 한 좋으며 일부 측정을 전혀 맞지 않을 수 있음을 인정합니다.
(C #에서 구현을 원하지만 여기에 게시했지만 문제가 언어에 따라 다르다고 생각하지 않습니다)
업데이트 (이 응용 프로그램) :
x는 온도 값이고 y는 해당 측정 값입니다. 본질적으로 그것은 더 낮은 온도에서 더 높은 y 값을 갖는 로지스틱 곡선처럼 보이게되며 그 반대도 마찬가지입니다. 녹는 점은 곡선의 변곡점과 같으며, 이는 모델 매개 변수의 작은 변화로 많이 변합니다.
업데이트 (일부는 7 개의 데이터 포인트와 60의 알려진 변곡점이있는 데이터로 구성) :
//first I made up some data without any noise and enough (13) points
double[] x17 = { 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90 };
double[] y17 = { 2000, 1920, 1820, 1700, 1500, 1280, 1000, 720, 500, 300, 180, 80, 0 };
//calculated inflection point: 59.642....
//Then I took three different parts of that data
(to simulate how much data I will have in the real world)
double[] x18 = { 30, 35, 40, 45, 50, 55, 60 };
double[] y18 = { 2000, 1920, 1820, 1700, 1500, 1280, 1000 };
//calculated inflection point: 59.263.... is ok!
double[] x19 = { 60, 65, 70, 75, 80, 85, 90 };
double[] y19 = { 1000, 720, 500, 300, 180, 80, 0 };
//calculated inflection point: 53.447.... to small!
double[] x20 = { 45, 50, 55, 60, 65, 70, 75 };
double[] y20 = { 1700, 1500, 1280, 1000, 720, 500, 300 };
//calculated inflection point: 59.868... almost perfect!
상한 추정에 대한 현재 접근 방식은 y0 * y0 / y1입니다. 이 방법으로 항상 최대 값에 가까운 값을 가질 수는 없습니다.
업데이트 : x 및 y 값은 음수가 아닙니다. 데이터 포인트가 손실되지 않는 한 x는 항상 {40, 45, 50, 55, 60, 65, 70}입니다.
업데이트 : 시뮬레이션하기 쉬운 데이터로 여러 번 많은 테스트를 수행했습니다 (노이즈없이 곡선에 정확하게있는 데이터 포인트를 선택합니다 = 노이즈가 없음). 첫 번째 또는 두 번째 데이터 포인트가 아닌 한 제대로 작동한다는 것을 알았습니다 x = 40 또는 x = 45)가 없습니다. 나는 그러한 측정을 버려야하며 사용자는 그와 함께 살아야한다고 생각합니다.