적합선 및 절편 열 공식, 오류에 대한 도움말한국어: JMP18.1.1
저는 측정 데이터로 작업하고 있는데, 주변 데이터 포인트를 사용하여 특정 데이터 포인트에서 적합선을 계산하고 싶습니다. 그런 다음 y=0에 대한 x축 절편을 얻습니다.
주변을 둘러보고 직접 해결하려고 하니 JMP의 '선형 회귀'나 '최소 제곱법' 기능을 사용하면 되는 듯합니다.
저는 이 작업을 열 수식(평가할 데이터 포인트를 식별하기 위한 if 문 포함)에서 수행했습니다.
x = J( 2, 1, 0 );
y = J( 2, 1, 0 );
x[1, 1] = Lag( :y_column, 1 );
x[2, 1] = Lag( :y_column, -1 );
y[1, 1] = Lag( :x_column, 1 );
y[2, 1] = Lag( :x_column, -1 );
Coeffs = Linear Regression( y, x )[1];
Coeffs[1];
이 코드는 올바른 출력을 생성하지만 실행하면 오류가 발생합니다.
'X의 순위가 X의 행 수와 같기 때문에 매개변수 추정치의 분산을 추정할 수 없습니다.'
여기서 문제가 뭔지 잘 모르겠어요. 어차피 인터셉트만 원하거든요. 이걸 간단히 고칠 방법이 있을까요? 아니면 경고를 끄는 방법이 있을까요?
최소 제곱 함수로 비슷한 방법을 시도할 수 있지만, 같은 오류가 발생합니다.
문제를 보여주는 예시 표를 만들었습니다. 그 표에서 공식을 다시 실행하여 오류를 확인하세요.
감사해요
기본 데이터 분석 및 모델링Re: 적합선 및 절편 열 공식, 오류에 대한 도움말저는 회귀 분석에서 데이터 포인트 수를 현재 데이터 포인트를 포함하여 3개로 늘려서 이 문제를 즉시 직접 해결한 것 같습니다.
x = J( 3, 1, 0 );
y = J( 3, 1, 0 );
x[1, 1] = Lag( :y_column, 1 );
x[2, 1] = :y_column;
x[3, 1] = Lag( :y_column, -1 );
y[1, 1] = Lag( :x_column, 1 );
y[2, 1] = :x_column;
y[3, 1] = Lag( :x_column, -1 );
Coeffs = Linear Regression( y, x )[1];
Coeffs[1];
이렇게 하면 오류가 발생하는 것을 막을 수 있는데, 지금은 괜찮을 수 있습니다. 하지만 앞으로는 2개 지점에서만 절편을 계산하고 싶습니다. 그래서 제 질문은 여전히 유효합니다.
감사해요
Re: 적합선 및 절편 열 공식, 오류에 대한 도움말계산을 수행하는 지점을 포함할 수 있습니다(예: 2개 대신 3개 지점)
If(Row() > 1 & Row() < Col Number(:y_column),
Linear Regression(:y_column[Index(Row() - 1, Row() + 1)]`, :x_column[Index(Row() - 1, Row() + 1)]`)[1][1];
,
.
);
Re: 적합선 및 절편 열 공식, 오류에 대한 도움말이제 반환된 절편 값이 올바르지 않다는 문제가 발생했습니다...
이걸 보여주려면 실제 데이터의 발췌본을 보여줘야 할 것 같아요. 파일 첨부.
다른 열이 최대값인 행에서 절편을 평가하고 있습니다.
스크립트는 인접한 행에서 값을 올바르게 가져오고 있으며, 로그 출력에서 행렬을 올바르게 형성하고 있음을 볼 수 있습니다.
'-1053478758'의 절편에 대한 출력 값을 제공합니다. 하지만 그 x/y 값을 수동으로 별도의 표로 가져와서 이변량 라인 피팅을 실행하면 '-1.22'의 절편이 나오는데, 이는 정확합니다.
암호:
If( :"dlogIds/dVgs"n == Col Maximum( :"dlogIds/dVgs"n ),
x = J( 3, 1, 0 );
y = J( 3, 1, 0 );
x[1, 1] = Lag( :I_Drain Abs, 1 );
x[2, 1] = :I_Drain Abs;
x[3, 1] = Lag( :I_Drain Abs, -1 );
y[1, 1] = Lag( :V_GATE, 1 );
y[2, 1] = :V_GATE;
y[3, 1] = Lag( :V_GATE, -1 );
Show( x );
Show( y );
Coeffs = Linear Regression( y, x )[1];
Coeffs[1];
)
왜 옳지 않은지 전혀 알 수 없습니다...
Re: 적합선 및 절편 열 공식, 오류에 대한 도움말정확도 문제/실수/버그일 수 있습니다. JMP 지원팀 @mzwald 에 문의하세요.
Names Default To Here(1);
ys = [-0.999986, -1.49994, -1.99997];
xs = [1.3500e-12, 1.0600e-10, 1.9700e-9];
xs2 = Matrix(Eval List({1.3500e-12*10^12, 1.0600e-10*10^12, 1.9700e-9*10^12}));
ls = Linear Regression(ys, xs, << print to log);
ls2 = Linear Regression(ys, xs2, << print to log);
dt = New Table("",
New Column("Y", Numeric, Continuous, Values(ys)),
New Column("X1", Numeric, Continuous, Values(xs)),
New Column("X2", Numeric, Continuous, Values(xs2)),
);
biv1 = dt << Bivariate(Y(:Y), X(:X1), Fit Line({Line Color({230, 159, 0})}));
biv_estimates1 = Report(biv1)[Outline Box("Parameter Estimates"), Number Col Box("Estimate")];
Show(biv_estimates1 << get);
biv2 = dt << Bivariate(Y(:Y), X(:X2), Fit Line({Line Color({230, 159, 0})}));
biv_estimates2 = Report(biv2)[Outline Box("Parameter Estimates"), Number Col Box("Estimate")];
Show(biv_estimates2 << get);
Write();Re: 적합선 및 절편 열 공식, 오류에 대한 도움말정밀도 문제인지 궁금했습니다. 해당 함수의 어떤 것이 충분한 유효 숫자로 입력을 처리하지 못하는 것 같습니다.
지금은 귀하의 수정 사항을 사용하여 x축 값을 처리할 수 있는 수준으로 곱하는 것이 효과적입니다.
감사해요!
Re: 적합선 및 절편 열 공식, 오류에 대한 도움말안녕하세요 @GRoberts86 : 완전성을 위해, "오류" 메시지 'X의 순위가 X의 행 수와 같기 때문에 매개변수 추정치의 분산을 추정할 수 없습니다'는 두 점만 있고 직선으로 연결했기 때문입니다. 따라서 선 주변에는 변동성이 없습니다... 즉, 실제로 통계적 절차를 수행하지 않고 두 점을 수학적으로 연결하고 있습니다. 그러나 여기에서 보여지는 것처럼 행렬 대수를 통해 통계 패키지를 사용하여 이를 수행합니다.
https://www.stat.cmu.edu/~cshalizi/mreg/15/lectures/13/lecture-13.pdf.
귀하가 호출한 통계적 절차(선형 회귀(y, x)[1])는 단순히 두 지점을 수학적으로 연결하는 것 이상을 시도합니다. 또한 기울기와 절편에 대한 신뢰 구간, p-값 등을 제공합니다. 하지만 귀하의 경우 두 지점만 있으므로(X의 순위 =2) 변동성이 없고 따라서 신뢰 구간 등이 없습니다.
그러니까, 간단히 말해서 "오류"는 통계적 ( 수학적 과는 다름) 출력이 없다는 알림일 뿐입니다.
Re: 적합선 및 절편 열 공식, 오류에 대한 도움말@MRB3855
조금 생각해 본 후에 깨달았습니다. 두 개의 지점으로만 작업하는 경우, 오래된 '선의 방정식' y=mc+c를 사용하는 것이 적절합니다.
그래도 '조용한' 플래그가 있으면 좋겠어요 하하.