2016-10-15 2 views
1

При поиске решения, связанного с R, я нашел некоторое несоответствие между R и SPSS (версия 24) при вычислении стандартизованных остатков в простой линейной модели.Условные остатки в SPSS не обрабатываются R rstandard (lm())

Оказывается, что SPSS называет стандартизировано остатков матчами R стьюдентизированных остатками

enter image description here

Я далеко предполагая, что это программное обеспечение ошибка где-то, но явно вещи отличаются между этими двумя программами ,

Посмотрите на этот пример

#generate data in R 
set.seed(111) 
y = rnorm(20, 0, 1) 
x = rnorm(20, 1, 1) 

#calculate and standarized residuals 
zresid<- rstandard(lm(y ~ x)) 
sresid<- rstudent(lm(y ~ x)) 

#make data frame 
sampleData <- data.frame(y, x, zresid, sresid) 

#save data for SPSS 
library(foreign) 
write.foreign(sampleData, "~/sampleData.sav", package="SPSS") 

Затем в SPSS нажмите свой путь через все окна, чтобы импортировать данные и настройки линейной регрессии ZRE и SRE остатки сохранены.

#load data to spss via syntax 
GET DATA /TYPE=TXT 
    /FILE="~\sampleData.sav" 
    /DELCASE=LINE 
    /DELIMITERS="," 
    /ARRANGEMENT=DELIMITED 
    /FIRSTCASE=1 
    /DATATYPEMIN PERCENTAGE=95.0 
    /VARIABLES= 
    y F8.0 
    x F8.0 
    zresid F8.0 
    sresid F8.0 
    /MAP. 
RESTORE. 

#run a simple regression with standarized residuals (ZRESID) and studentized residuals (SRESID) 

REGRESSION 
    /MISSING LISTWISE 
    /CRITERIA=PIN(.05) POUT(.10) 
    /NOORIGIN 
    /DEPENDENT y 
    /METHOD=ENTER x 
    /SAVE ZRESID SRESID. 

Я безумный (или немой) или действительно что-то не так?

enter image description here

ответ

0

После @JKP suggestion я пошел, хотя SPSS Algorithm manual и на странице 853 (регрессия Алгоритм главы) мы можем найти, что Стандартизированные Остаточные сохраненные с помощью простого регрессионного анализа вычисляются следующим образом:

Standardized Residuals

0

не очень хорошо знакомы с SPSS, но я побежал модели R и Stata, получая те же остатки. Таким образом, проблема заключается в конце SPSS. Я предполагаю, что похоже, что вы вызвали команду поэтапной регрессии в SPSS. Не могли бы вы попробуете просто:

REGRESSION 
    /DEPENDENT y 
    /METHOD=ENTER x 
    /SAVE ZRESID SRESID. 

И посмотрите, работает ли это?

+0

с одной предсказателя регрессии нет никакой разницы между методами (т.е. поэтапно или иначе). Ваш синтаксис дает те же результаты, что и мой. '/ method = enter' в основном определяет его – blazej

+0

Я предполагаю, что они используют« стандартизованные »и« студенческие »по-разному. Есть «внутренне студенческие» и «внешние студенческие» остатки. Последний находит i-й остаток, оставляя i-й случай вне регрессии («удаленные» остатки). Используя 'методы (« rstandard.lm ») и методы (« rstudent.lm »), похоже, что R вычисляет стандартизованные остатки, используя внутренне изученные остатки и студенческие остатки, используя внешние студенческие остатки. Студенческие остатки в SPSS соответствуют стандартизованным остаткам в выходе R. – paqmo

+0

Что SPSS делает, чтобы найти стандартизованные остатки, я не уверен! – paqmo

Смежные вопросы