Разница между результатами линейной модели R и SPSS - PullRequest
0 голосов
/ 20 декабря 2018

Я новичок в статистике.В настоящее время посещаю вводный курс, в котором используется .Я пытался выучить в одно и то же время, и до сих пор я последовательно получал одинаковые результаты для вычислений с обоими инструментами, как и ожидалось.

Однако мыВ настоящее время выполняются корреляции (Pearson's Rho) и подгонка линейных моделей, и я последовательно получаю разные результаты между R и SPSS.

Набор данных GSS2012.zip в этом zip-файле .

d = GSS2012$tolerance
e = GSS2012$age
f = GSS2012$polviews
g = GSS2012$educ

SPSS    R   std. error (SPSS)  
intercept   6,694   7,29707726  0,623  
e   -0,031  -0,03130627 0,006  
f   -0,123  -0,20586503 0,072  
g   0,411   0,40029541  0,033  

Полные минимальные рабочие примеры для получения результатов, приведенных выше, приведены ниже.

Я пробовал разные use="stuff" за cor;не имеет значения.

cor(d, e, use = "pairwise.complete.obs")

Полный, минимальный рабочий пример для lm:

> library(haven)
> GSS2012 <- read_sav("full version/GSS2012.sav")
> lm(GSS2012$tolerance ~ GSS2012$age + GSS2012$polviews + GSS2012$educ, na.action="na.exclude", singular.ok = F)

Call:
lm(formula = GSS2012$tolerance ~ GSS2012$age + GSS2012$polviews + 
    GSS2012$educ, na.action = "na.exclude", singular.ok = F)

Coefficients:
     (Intercept)       GSS2012$age  GSS2012$polviews      GSS2012$educ  
         7.29708          -0.03131          -0.20587           0.40030  

Ничто до сих пор не давало мне такие же значения, как SPSS.--- Не то чтобы я знал, что последние обязательно являются правильными, я просто хотел бы повторить результаты.

SPSS-скрипт:

DATASET ACTIVATE DataSet1. 
REGRESSION 
  /MISSING LISTWISE 
  /STATISTICS COEFF OUTS R ANOVA 
  /CRITERIA=PIN(.05) POUT(.10) 
  /NOORIGIN 
  /DEPENDENT tolerance 
  /METHOD=ENTER age polviews educ.

Подобные статьи, вероятно, связаны между собой: link1 ; link2 ; link3 , но я не смог использовать содержащуюся в нем информацию для репликации данных SPSS.(Опять же, R может иметь более точные результаты; я не знаю. Но я нахожусь в "окружении SPSS", и поэтому было бы хорошо, если бы я мог получить те же результаты на данный момент:)

1 Ответ

0 голосов
/ 21 декабря 2018

Это только частичный ответ, так как я вижу, в чем проблема, хотя я не уверен, что ее вызывает.Проблема связана с отсутствующими значениями и тем, как они обрабатываются в файле SPSS.Давайте просто возьмем переменную educ в качестве примера ...

В файле SPSS вы можете видеть, что значения 97, 98 и 99 определены как отсутствующие значения:

enter image description here

Если вы сортируете файл SPSS по столбцу educ, вы можете увидеть 2 строки данных с этими пропущенными значениями.Это идентификаторы 837 и 1214:

enter image description here

В R вы можете подтвердить, что эти строки действительно содержат пропущенные значения (NA):

> which(is.na(GSS2012$educ))
[1]  837 1214

Проблема в SPSS, когда вы фактически указываете ему подсчитать, сколько строк пропущено, он говорит, что есть только 1 пропущенная строка данных:

FREQUENCIES VARIABLES=educ 
  /FORMAT=NOTABLE
  /ORDER= ANALYSIS .

enter image description here

Проблема с ID 1214. SPSS не считает, что значение 99 для 1214 отсутствует .Например, попробуйте изменить educ для 837 на любое другое (не пропущенное) число, и вы увидите, что SPSS говорит, что для educ пропущено 0 строк, хотя на самом деле 1214 все еще должно отсутствовать (99)

Я не проверял, но я предполагаю, что подобное происходит с рядом строк для переменной polviews.

Следствием этого является то, что SPSS не лечитэти строки как отсутствующие данные при запуске анализа, но в R эти значения правильно установлены как отсутствующие и опущены.Другими словами, SPSS использует больше данных для модели, чем следует использовать.Вы можете убедиться в этом, посмотрев на результаты SPSS и R - степени свободы в двух программах различаются, что приводит к (незначительной) разнице в результатах

Я не уверен, почему SPSS не лечитэти строки как отсутствующие.Это может быть либо ошибка (не будет первой для SPSS ...), либо что-то, что связано с настройкой файла.Я не проверял последнее, потому что это большой файл, и я недостаточно знаком с набором данных, чтобы знать, где искать

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...