Анализ ROC цикла SPSS для множества переменных - PullRequest
0 голосов
/ 11 октября 2018

В SPSS я хотел бы выполнить анализ ROC для большого количества переменных (989).Проблема, при выборе всех переменных, дает мне значения AUC и кривые, но случай немедленно исключается, если у него есть одно пропущенное значение в любой из 989 переменных.Итак, я думал о том, чтобы провести анализ ROC с одной переменной в цикле.Но я понятия не имею, как это сделать.Я уже назвал все переменные var1, var2, var3, ..., var988, var989.

Итак, как я могу выполнить цикл анализа ROC?(Проверка «Обработать пользовательские пропущенные значения как действительные» не помогает)

Спасибо!

1 Ответ

0 голосов
/ 17 октября 2018

это звучит как работа для питона.Обычно это лучшее решение для такой работы в SPSS.

Итак, вот фреймворк, который может вам помочь.Я ужасно незнаком с ROC-анализом, но этот общий шаблон применим ко всем видам циклических циклов:

begin program. 
import spss

for i in range(spss.GetVariableCount()): 
    var = spss.GetVariableName(i)
    cmd = r'''
* your variable-wise analysis goes here --> use spss syntax, beetween the three ' no     
* indentation is needed. since I dont know what your syntax looks like, we'll just 
* run descriptives and frequencies for all your variables as an example
descriptives %(var)s
/sta mean stddev min max. 
fre %(var)s. 
'''%locals()
    spss.Submit(cmd)
end program. 

Просто чтобы быстро перейти к тому, что это делает: В строке 4 мы говорим spss сделать следующеестолько раз, сколько переменных в активном наборе данных, 989 в вашем случае.В строке 5 мы определяем переменную (python) с именем var, которая содержит имя переменной переменной с индексом i (от 0 до 988 - первая переменная в наборе данных, имеющая индекс 0).Затем мы определяем команду для выполнения spss.Мне нравится помещать это в необработанные строки, потому что это упрощает такие вещи, как предоставление каталогов.Необработанная строка определяется r '' 'и оканчивается на' ''.в строке 12. spss.Submit (cmd) дает команду, определенную после «cmd =», для spss для выполнения.Самое главное, что всякий раз, когда имя переменной будет появляться в вашем синтаксисе, заменяйте его на «% (var) s»

Если вы включили «set mprint on».строка над «начать программу».вы точно увидите, что он делает в программе просмотра.

...