적합 곡선의 신뢰성?


11

적합 곡선의 불확실성 또는 신뢰성을 추정하고 싶습니다. 나는 그것이 무엇인지 모르기 때문에 내가 찾고있는 정확한 수학적 양을 의도적으로 언급하지 않습니다.

여기서 (에너지)는 종속 변수 (응답)이고 (볼륨)는 독립 변수입니다. 일부 재료 의 에너지-볼륨 곡선 를 찾고 싶습니다 . 그래서 나는 양자 화학 컴퓨터 프로그램을 사용하여 일부 샘플 볼륨 (플롯의 녹색 원)의 에너지를 얻기 위해 계산을했습니다.V E ( V )이자형VE(V)

그런 다음 I은 이러한 데이터 샘플 끼워 자작 Murnaghan 기능 : 에 따라 다릅니다. 네 개의 매개 변수 : . 또한 이것이 올바른 피팅 함수라고 가정하므로 모든 오류는 샘플의 노이즈에서 발생합니다. 다음에, 적합 함수 는 V 의 함수로 작성됩니다 .E 0 , V 0 , B 0 , B ' 0 ( E ) V

E(E|V)=E0+9V0B016{[(V0V)231]3B0+[(V0V)231]2[64(V0V)2]},
E0,V0,0,0'(이자형^)V

여기에서 결과를 볼 수 있습니다 (최소 제곱 알고리즘에 적합). y 축 변수는 이자형 이고 x 축 변수는 V 입니다. 파란색 선이 적합하고 녹색 원이 샘플 점입니다.

시료의 자작 나무 -Murnaghan (파란색)

이제 전이 압력이나 엔탈피와 같은 추가 수량을 계산해야하기 때문에이 적합 곡선 \ hat {E} (V) 의 신뢰성에 대한 측정 값이 이자형^(V)필요합니다.

내 직감에 따르면 적합 곡선이 중간에서 가장 신뢰할 수 있다고 알려주 므로이 스케치에서와 같이 불확실성 (예 : 불확실성 범위)이 샘플 데이터의 끝 부분에서 증가해야한다고 생각합니다. 여기에 이미지 설명을 입력하십시오

그러나 내가 찾고있는이 종류의 측정은 무엇이며 어떻게 계산할 수 있습니까?

정확히 말하자면 여기에는 실제로 하나의 오류 소스 만 있습니다. 계산 된 샘플은 계산 한계로 인해 노이즈가 발생합니다. 따라서 밀도가 높은 데이터 샘플 세트를 계산하면 울퉁불퉁 한 곡선을 형성합니다.

원하는 불확실성 추정치를 찾는 나의 생각은 학교에서 배울 때 매개 변수를 기반으로 다음과 같은``오류 ''를 계산하는 것입니다 ( 불확실성의 전파 ).

Δ이자형(V)=(이자형(V)이자형0Δ이자형0)2+(이자형(V)V0ΔV0)2+(이자형(V)0Δ0)2+(이자형(V)0'Δ0')2
및 , 피팅 소프트웨어에 의해 주어진다.Δ이자형0,ΔV0,Δ0Δ0'

그것이 수용 가능한 접근입니까, 아니면 잘못하고 있습니까?

추신 : 나는 데이터 샘플과 곡선 사이의 잔차 제곱을 합산하여 일종의``표준 오류 ''를 얻을 수는 있지만 볼륨에 의존하지는 않습니다.


어떤 매개 변수도 지수가 아니며 이는 좋습니다. 어떤 NLS 소프트웨어를 사용하셨습니까? 대부분은 모수 적 불확실성에 대한 추정값을 반환합니다 (매개 변수가 지수 인 경우 완전히 비현실적 일 수 있지만 이는 사실이 아닙니다).
DeltaIV

방정식의 오른쪽에 A가 없지만 플롯에 나타납니다. "네 개의 매개 변수"라고 말하면 통계적 의미에서 매개 변수를 의미합니까 (어떤 경우에 IV가 있는가) 변수를 의미합니까 (어떤 경우에 매개 변수가 있는가)? 측정 된 것과 알려지지 않은 것의 상징의 역할을 명확히하십시오.
Glen_b-복지 주 모니카

1
V는 A ^ 3이라고 생각합니다. 그것이 내가 사용한 것과 내 음모가 그의 것과 동일하게 보였습니다.
dave fournier

@Glen_b 방금 Birch–Murnaghan 함수에서 Y 축이 E이고 x 축이 V 인 것으로 가정했습니다. 4 개의 매개 변수는 Birch-Murnaghan 기능의 4 가지 매개 변수입니다. 당신이 그가 가진 것 같은 것을 얻는다고 가정하면.
dave fournier 1

아 잠깐만 요. 는 기대 연산자가 아닙니다 (RHS에 오류 항이없는 방정식의 LHS에서 볼 수 있듯이) Ey ( x ) 형식의 함수로 작성된 응답 변수입니다 . 모두에게 큰 힌트 : 회귀 방정식의 왼쪽에 E ( ) 가있는 방정식을 통계 학자에게 표시하지 마십시오. 예상대로 가정하기 때문에 의미하는 바를 신중하게 정의하지 않아도됩니다. 이자형()이자형와이(엑스)이자형()
Glen_b-복지 주 모니카

답변:


8

이것은 일반적인 최소 제곱 문제입니다!

정의

엑스=V2/, =V01/,

모델을 다시 쓸 수 있습니다

이자형(이자형|V)=β0+β1엑스+β2엑스2+β엑스

계수 는 다음을 통해 원래 계수와 대수적으로 관련됩니다.β=(β나는)'

16β=(16이자형0+540900'14405+2700'5126072700'73609+900'9).

이것은 대수적으로나 수치 적으로 풀기 쉽습니다 : , w 가 양수인 해를 선택하십시오. 이를 수행하는 유일한 이유는 B 0 , B ' 0 , wE 0의 추정값을 획득 하고 물리적으로 의미가 있는지 확인하기위한 것입니다. 적합도에 대한 모든 분석은 β 로 수행 할 수 있습니다 .0,0'0,0',이자형0β

위한 분산 공분산 행렬이 접근법은 또한보다 정확한 만 훨씬 간단한 비선형 피팅 이하이다 비선형 맞춤에 의해 반환이에만 로컬 차 근사 이러한 파라미터의 분포를 샘플링하는 반면 ( E 측정에서 정상적으로 분포 된 오차의 경우) OLS 결과는 근사치가 아닙니다.(이자형0,0,0',V0)이자형

β^R

그림

#
# The data.
#
X <- data.frame(V=c(41, 43, 46, 48, 51, 53, 55.5, 58, 60, 62.5),
                E=c(-48.05, -48.5, -48.8, -49.03, -49.2, -49.3, -49.35, 
                    -49.34, -49.31, -49.27))
#
# OLS regression.
#
fit <- lm(E ~ I(V^(-2/3)) + I(V^(-4/3)) + I(V^(-6/3)), data=X)
summary(fit)
beta <- coef(fit)
#
# Prediction, including standard errors of prediction.
#
V0 <- seq(40, 65)
y <- predict(fit, se.fit=TRUE, newdata=data.frame(V=V0))
#
# Plot the data, the fit, and a three-SEP band.
#
plot(X$V, X$E, xlab="Volume", ylab="Energy", bty="n", xlim=c(40, 60))
polygon(c(V0, rev(V0)), c(y$fit + 3*y$se.fit, rev(y$fit - 3*y$se.fit)),
        border=NA, col="#f0f0f0")
curve(outer(x^(-2/3), 0:3, `^`) %*% beta, add=TRUE, col="Red", lwd=2)
points(X$V, X$E)

β

그림 2


1
선형 모델 피팅 알고리즘이 비선형 모델 알고리즘보다 훨씬 수치 적으로 안정적인 것은 사실이지만, 비선형 피팅 알고리즘이 수렴하는 한 진단 정확도에 차이가있는 것은 아닙니다. 나는 확인했고 우리는 적어도 4 sig figs에 대해 동일한 잔차 제곱합을 가지고 있습니다. 또한 선택한 선형 매개 변수화는 매우 혼동되므로 t 테스트에 따라 매개 변수가 중요하지 않습니다. 내 전부입니다. 실제로 큰 문제는 아니지만 재미 있고 어린 선수를 혼란스럽게 할 수 있습니다.
dave fournier

또한, 나는 그녀가 엔탈피 볼륨 기능에 대한 신뢰 한계 같은 것을 원하는 언급 한 이후 영업 이익의 질문에 대답하지 않았다 추측
데이브 푸르니에

1
β(이자형0,)(이자형^0)

모델과 광산은 매개 변수화와 독립적입니다. (OLS 모델에 대해 이야기하고 있습니다.) 특정 모수가 모형에 선형으로 입력되면 표준 편차가 해당 모수에 대해 더 나은 신뢰 한계를 생성한다는 것은 사실입니다. 델타 방법을 통해 얻은 표준 편차는 모델을 매개 변수화하는 데 사용되는지 또는 종속 변수로 해석되는지에 관계없이 동일합니다. 이 경우 종속 관심 변수는 엔탈피-볼륨 함수이며 델타 방법 std dev는 매개 변수를 사용하든 광산을 사용하든 동일합니다.
데이브 fournier

1
β^

3

나는

나는
그러면 해당 종속 변수에 대한 추정 분산이 제공됩니다. 추정 된 표준 편차를 얻으려면 제곱근을 취하십시오. 신뢰 한계는 예측 된 값 +-2 표준 편차입니다. 이것은 표준 가능성입니다. 비선형 회귀의 특수한 경우 자유도를 교정 할 수 있습니다. 10 개의 관측치와 4 개의 매개 변수가 있으므로 10/6을 곱하여 모형의 분산 추정치를 증가시킬 수 있습니다. 여러 소프트웨어 패키지가이를 수행합니다. AD Model Builder의 AD Model로 모델을 작성하고 적합하게하고 수정되지 않은 분산을 계산했습니다. 값을 조금 추측해야하기 때문에 그들은 당신과 약간 다를 것입니다.
                    estimate   std dev
10   pred_E      -4.8495e+01 7.5100e-03
11   pred_E      -4.8810e+01 7.9983e-03
12   pred_E      -4.9028e+01 7.5675e-03
13   pred_E      -4.9224e+01 6.4801e-03
14   pred_E      -4.9303e+01 6.8034e-03
15   pred_E      -4.9328e+01 7.1726e-03
16   pred_E      -4.9329e+01 7.0249e-03
17   pred_E      -4.9297e+01 7.1977e-03
18   pred_E      -4.9252e+01 1.1615e-02

이는 AD Model Builder의 모든 종속 변수에 대해 수행 할 수 있습니다. 다음과 같이 코드에서 적절한 지점에 변수를 선언합니다.

   sdreport_number dep

다음과 같이 종속 변수를 평가하는 코드를 작성합니다.

dep=sqrt(V0-cube(Bp0)/(1+2*max(V)));

이는 모형 피팅에서 관찰 된 최대 변수의 2 배인 독립 변수 값에 대해 평가됩니다. 모형을 적합하면이 종속 변수에 대한 표준 편차를 얻습니다.

19   dep          7.2535e+00 1.0980e-01

엔탈피-볼륨 함수의 신뢰 한계를 계산하기위한 코드를 포함하도록 프로그램을 수정했습니다. 코드 (TPL) 파일은 다음과 같습니다.

DATA_SECTION
 init_int nobs
 init_matrix data(1,nobs,1,2)
 vector E
 vector V
 number Vmean
LOC_CALCS
 E=column(data,2);
 V=column(data,1);
 Vmean=mean(V);

PARAMETER_SECTION
 init_number E0
 init_number log_V0_coff(2)
 init_number log_B0(3)
 init_number log_Bp0(3)
 init_bounded_number a(.9,1.1)
 sdreport_number V0
 sdreport_number B0
 sdreport_number Bp0
 sdreport_vector pred_E(1,nobs)
 sdreport_vector P(1,nobs)
 sdreport_vector H(1,nobs)
 sdreport_number dep
 objective_function_value f
PROCEDURE_SECTION
  V0=exp(log_V0_coff)*Vmean;
  B0=exp(log_B0);
  Bp0=exp(log_Bp0);
  if (current_phase()<4)
  f+=square(log_V0_coff) +square(log_B0);

  dvar_vector sv=pow(V0/V,0.66666667);
  pred_E=E0 + 9*V0*B0*(cube(sv-1.0)*Bp0
    + elem_prod(square(sv-1.0),(6-4*sv)));

  dvar_vector r2=square(E-pred_E);
  dvariable vhat=sum(r2)/nobs;
  dvariable v=a*vhat;
  f=0.5*nobs*log(v)+sum(r2)/(2.0*v);

  // code to calculate the  enthalpy-volume function
  double delta=1.e-4;
  dvar_vector svp=pow(V0/(V+delta),0.66666667);
  dvar_vector svm=pow(V0/(V-delta),0.66666667);
  P = -((9*V0*B0*(cube(svp-1.0)*Bp0
      + elem_prod(square(svp-1.0),(6-4*svp))))
      -(9*V0*B0*(cube(svm-1.0)*Bp0
      + elem_prod(square(svm-1.0),(6-4*svm)))))/(2.0*delta);
  H=E+elem_prod(P,V);

dep=sqrt(V0-cube(Bp0)/(1+2*max(V)));

그런 다음 H의 추정치에 대한 표준 개발자를 얻기 위해 모델을 개조했습니다.

29   H           -3.9550e+01 5.9163e-01
30   H           -4.1554e+01 2.8707e-01
31   H           -4.3844e+01 1.2333e-01
32   H           -4.5212e+01 1.5011e-01
33   H           -4.6859e+01 1.5434e-01
34   H           -4.7813e+01 1.2679e-01
35   H           -4.8808e+01 1.1036e-01
36   H           -4.9626e+01 1.8374e-01
37   H           -5.0186e+01 2.8421e-01
38   H           -5.0806e+01 4.3179e-01

이 값은 관측 된 V 값에 대해 계산되지만 모든 V 값에 대해 쉽게 계산할 수 있습니다.

이것은 실제로 OLS를 통해 파라미터 추정을 수행하는 간단한 R 코드가있는 선형 모델이라는 것이 지적되었습니다. 이것은 특히 순진한 사용자에게 매우 매력적입니다. 그러나 30 년 전에 Huber의 작업을 통해 OLS를 거의 항상 대체 할만한 대안으로 대체해야한다는 것을 알고 있거나 알아야합니다. 이것이 일상적으로 이루어지지 않는 이유는 강력한 방법이 본질적으로 비선형이기 때문입니다. 이 관점에서 R의 간단한 매력적인 OLS 방법은 기능이 아니라 함정에 가깝습니다. AD Model Builder 접근법의 advabtage는 비선형 모델링에 대한 지원을 기본적으로 제공합니다. 최소 제곱 코드를 강력한 일반 혼합으로 변경하려면 한 줄의 코드 만 변경하면됩니다. 라인

    f=0.5*nobs*log(v)+sum(r2)/(2.0*v);

로 변경되었습니다

f=0.5*nobs*log(v)
  -sum(log(0.95*exp(-0.5*r2/v) + 0.05/3.0*exp(-0.5*r2/(9.0*v))));

모델에서의 과분 산량은 파라미터 a에 의해 측정된다. 1.0과 같으면 분산은 일반 모형과 동일합니다. 특이 치에 의한 분산의 인플레이션이있는 경우 a가 1.0보다 작을 것으로 예상합니다. 이 데이터에서 a의 추정치는 약 0.23이므로 분산은 정규 모형의 분산의 약 1/4입니다. 해석은 특이 치가 분산 추정치를 약 4 배 증가 시켰다는 것입니다. 이것의 결과는 OLS 모델의 모수에 대한 신뢰 한계의 크기를 증가시키는 것입니다. 이것은 효율성의 손실을 나타냅니다. 정규 혼합 모형의 경우 엔탈피-볼륨 함수의 추정 표준 편차는 다음과 같습니다.

 29   H           -3.9777e+01 3.3845e-01
 30   H           -4.1566e+01 1.6179e-01
 31   H           -4.3688e+01 7.6799e-02
 32   H           -4.5018e+01 9.4855e-02
 33   H           -4.6684e+01 9.5829e-02
 34   H           -4.7688e+01 7.7409e-02
 35   H           -4.8772e+01 6.2781e-02
 36   H           -4.9702e+01 1.0411e-01
 37   H           -5.0362e+01 1.6380e-01
 38   H           -5.1114e+01 2.5164e-01

포인트 추정치에는 약간의 변화가 있지만, 신뢰 한계는 OLS에서 생성 된 것의 약 60 %로 줄었습니다.

내가 만들고 싶은 요점은 TPL 파일에서 한 줄의 코드를 변경하면 수정 된 모든 계산이 자동으로 수행된다는 것입니다.


2
나는

1
이자형(이자형V)이자형(이자형V)이자형(HV)

1
@jwimberley, 당신은 기본적으로 데이브 푸리에가 (조건부) 평균의 신뢰 구간에 대한 공식을 주었고, 백리향은 새로운 관측에 대한 예측 구간에 관심이있을 수 있다고 말합니다. OLS의 후자를 쉽게 계산할 수 있습니다. 이 경우 어떻게 계산합니까?
DeltaIV

1
이자형=에프(V)+ϵ이자형이자형^ϵVϵϵ
jwimberley

1
@jwimberley 나는 관찰 가능한 V 값에 해당하는 예측 값에 대한 신뢰 한계를 단순히 사용할 수 있었기 때문에 보여주었습니다. 종속 변수에 대한 신뢰 한계를 얻는 방법을 보여주기 위해 답변을 편집했습니다.
dave fournier 2016

0

교차 유효성 검사는 곡선의 안정성 을 평가 하는 간단한 방법입니다 . https://en.wikipedia.org/wiki/Cross-validation_(statistics)

Δ이자형0,ΔV0,Δ0Δ'

포인트 중 하나를 피팅에서 멀리두고 피팅 곡선을 사용하여 누락 된 포인트의 값을 예측하여 1 배 유효성 검사 오류를 계산할 수 있습니다. 모든 포인트에 대해이 작업을 반복하여 각 포인트가 한 번만 사라지도록하십시오. 그런 다음 최종 곡선의 유효성 검사 오류 (모든 점에 맞는 커브)를 평균 예측 오류로 계산하십시오.

이것은 새로운 데이터 포인트에 대한 모델의 민감도를 알려줍니다. 예를 들어, 에너지 모델이 얼마나 부 정확한지 알려주지 않습니다. 그러나 이것은 단순한 피팅 오차보다 훨씬 현실적인 오차 추정치입니다.

또한 원하는 경우 예측 오류를 부피의 함수로 플로팅 할 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.