2014-10-06 4 views
2

SAS의 선형 모델을 기반으로 예측 간격을 만들려고합니다. 내 SAS 코드는 내가 latitude=23.75467, longitude=90.66169depth_ft=25와 95 % 예측 구간을하고자Proc Reg 새로운 관측으로 예측하기

proc reg data=datain.aswells alpha=0.01; 
model arsenic = latitude longitude depth_ft/clb; 
run; 

입니다. 이 데이터 포인트는 데이터 세트에는 존재하지 않지만 모델을 계산하는 데 사용되는 값 범위 내에 있습니다. SAS에서이 작업을 쉽게 수행 할 수 있습니까? SAS에서 예측 구간을 쉽게 계산할 수있는 방법이 있을까요?

+0

proc 점수를 살펴보십시오. 이것은 PREDICTION 간격이기 때문에 신뢰 구간이 아니라 다른 방법이 다른 답을 줄 것입니다. 신뢰 구간만을 원하면 비소 값이없는 데이터 요소를 데이터 세트에 추가하면 출력 샘플은 예측 값 및 신뢰 구간 (예측 구간이 아님)을 생성합니다. – Reeza

+1

OUTPUT 문에서 신뢰도 및 예측 간격을 모두 얻을 수 있습니다. PROC REG (http://support.sas.com/documentation/cdl/en/statug/67523/HTML/default/viewer.htm#statug_reg_syntax10.htm)의 SAS 문서를 참조하십시오. – DomPazz

답변

2

가장 쉬운 방법은 ARSENIC 값이 누락 된 입력 데이터 세트에이를 추가하는 것입니다. 그런 다음 OUTPUT 문을 사용하여 예측 간격을 출력하십시오.

data test; 
do i=1 to 100; 
    x1 = rannor(123); 
    x2 = rannor(123)*2 + 1; 
    y = 1*x1 + 2*x2 + 4*rannor(123); 
    output; 
end; 
run; 

data test; 
set test end=last; 
output; 
if last then do; 
    y = .; 
    x1 = 1.5; 
    x2 = -1; 
    output; 
end; 
run; 

proc reg data=test alpha=.01; 
model y = x1 x2; 
output out=test_out(where=(y=.)) p=predicted ucl=UCL_Pred lcl=LCL_Pred; 
run; 
quit; 

가 출력에 절 결과 집합 단지 누락 값을 필터링하는

가 예측 될 : 여기

는 일례이다. 이를 제거하고 모든 예측 값 및 예측 간격을 가져올 수 있습니다.