저는 R에 더 익숙한 사용자이며 4 개의 서식지 변수에 대해 5 년 동안 약 35 명의 개인에 대한 임의의 기울기 (선택 계수)를 추정하려고했습니다. 응답 변수는 위치가 "사용 된"(1) 또는 "사용 가능한"(0) 서식지 (아래 "사용") 여부입니다.
Windows 64 비트 컴퓨터를 사용하고 있습니다.
R 버전 3.1.0에서는 아래 데이터와 표현식을 사용합니다. PS, TH, RS 및 HW는 고정 효과 (표준화되고 서식지 유형까지 측정 된 거리)입니다. lme4 V 1.1-7.
str(dat)
'data.frame': 359756 obs. of 7 variables:
$ use : num 1 1 1 1 1 1 1 1 1 1 ...
$ Year : Factor w/ 5 levels "1","2","3","4",..: 4 4 4 4 4 4 4 4 3 4 ...
$ ID : num 306 306 306 306 306 306 306 306 162 306 ...
$ PS: num -0.32 -0.317 -0.317 -0.318 -0.317 ...
$ TH: num -0.211 -0.211 -0.211 -0.213 -0.22 ...
$ RS: num -0.337 -0.337 -0.337 -0.337 -0.337 ...
$ HW: num -0.0258 -0.19 -0.19 -0.19 -0.4561 ...
glmer(use ~ PS + TH + RS + HW +
(1 + PS + TH + RS + HW |ID/Year),
family = binomial, data = dat, control=glmerControl(optimizer="bobyqa"))
glmer는 나에게 맞는 고정 효과에 대한 매개 변수 추정치를 제공하며 무작위 경사 (각 서식지 유형에 대한 선택 계수로 해석)는 데이터를 정 성적으로 조사 할 때도 의미가 있습니다. 모형의 로그 우도는 -3050.8입니다.
그러나 동물 생태학에서 대부분의 연구는 R을 사용하지 않습니다. 동물 위치 데이터를 사용하면 공간 자기 상관을 통해 표준 오류가 제 1 종 오류를 일으키기 쉽습니다. R은 모델 기반 표준 오류를 사용하지만 경험적 (허버 화이트 또는 샌드위치) 표준 오류가 선호됩니다.
R은 현재이 옵션을 제공하지 않지만 (내 지식-PLEASE, 틀린 경우 수정하십시오) SAS는-SAS에 액세스 할 수 없지만 동료가 자신의 컴퓨터를 빌려 표준 오류가 있는지 확인하기로 동의했습니다. 경험적 방법을 사용할 때 크게 변경됩니다.
먼저, 모델 기반 표준 오류를 사용할 때 SAS가 R과 유사한 추정값을 생성하여 모델이 두 프로그램 모두에서 동일한 방식으로 지정되었는지 확인하고자했습니다. 나는 그것들이 정확히 같은지 신경 쓰지 않습니다-그냥 비슷합니다. 나는 (SAS V 9.2)를 시도했다 :
proc glimmix data=dat method=laplace;
class year id;
model use = PS TH RS HW / dist=bin solution ddfm=betwithin;
random intercept PS TH RS HW / subject = year(id) solution type=UN;
run;title;
나는 라인 추가와 같은 다양한 다른 형태를 시도했다.
random intercept / subject = year(id) solution type=UN;
random intercept PS TH RS HW / subject = id solution type=UN;
나는 지정하지 않고 시도했다.
solution type = UN,
또는 코멘트 아웃
ddfm=betwithin;
우리가 모델을 어떻게 지정했는지 (그리고 우리는 여러 가지 방법을 시도했지만) 고정 효과가 충분히 비슷하더라도 SAS의 임의의 기울기가 R의 출력과 원격으로 유사하지 않습니다. 그리고 내가 다른 것을 의미 할 때, 나는 심지어 표시조차 같지 않다는 것을 의미합니다. SAS의 -2 로그 가능성은 71344.94입니다.
전체 데이터 세트를 업로드 할 수 없습니다. 세 사람의 기록 만 가지고 장난감 데이터 세트를 만들었습니다. SAS는 몇 분 안에 출력을 제공합니다. R에서는 1 시간 이상이 걸립니다. 기묘한. 이 장난감 데이터 세트를 통해 이제 고정 효과에 대한 다른 추정치를 얻습니다.
내 질문 : R과 SAS 사이에서 임의의 기울기 추정치가 왜 그렇게 다른지에 대해 누구나 밝힐 수 있습니까? 호출이 유사한 결과를 생성하도록 코드를 수정하기 위해 R 또는 SAS에서 수행 할 수있는 작업이 있습니까? R 추정값을 더 "믿기"때문에 SAS에서 코드를 변경하려고합니다.
나는 실제로 이러한 차이점에 대해 우려하고 있으며이 문제의 바닥에 도달하고 싶습니다!
R 및 SAS의 전체 데이터 세트에서 35 명의 개인 중 3 명만 사용하는 장난감 데이터 세트의 결과는 jpeg로 포함됩니다.
편집 및 업데이트 :
@JakeWestfall이 발견하는 데 도움이되었으므로 SAS의 기울기는 고정 효과를 포함하지 않습니다. 고정 효과를 추가하면 다음과 같은 결과가 나타납니다. 프로그램간에 하나의 고정 효과 "PS"에 대해 R 경사를 SAS 경사와 비교합니다 (선택 계수 = 임의 경사). SAS의 증가 된 변형에 주목하십시오.
0
s 및 1
s 로 표시된 이항 데이터 R
를 사용하여 SAS는 "0"응답의 확률을 모델링하는 반면 "1"응답의 확률을 모델링한다는 것입니다. SAS 모델을 "1"확률로 만들려면 응답 변수를로 작성해야합니다 use(event='1')
. 물론,이 작업을 수행하지 않더라도 랜덤 효과 분산의 동일한 추정치와 부호가 반대 인 동일한 고정 된 효과 추정치를 여전히 기대해야한다고 생각합니다.
ranef()
대신 임의 함수를 사용하여 SAS의 효과와 SAS의 효과를 비교해야 한다는 것 coef()
입니다. 전자는 실제 랜덤 효과를 제공하고 후자는 랜덤 효과와 고정 효과 벡터를 제공합니다. 따라서 이것은 귀하의 게시물에 표시된 숫자가 다른 이유를 많이 설명하지만 여전히 완전히 설명 할 수없는 상당한 불일치가 남아 있습니다.
ID
R의 요소가 아니라는 것을 알았습니다 . 변경 사항이 있는지 확인하고 확인하십시오.