Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Вопрос-Ответ Новый топик    Ответить
 бутстраппинг по определенным критериям в SPSS  [new]
PlanB
Member

Откуда: Moscow
Сообщений: 2762
Добрый день!

Последняя надежда на старый добрый sql.ru!
Господа, мне нужна помощь с SPSS (у меня был примерно такой же вопрос про R, но для реализации проекта был выбран именно SPSS).

1) Ищутся умельцы, способные рассказать где мне потыкать мышкой в кнопочном интерфейсе программы, чтобы сделать то, что изложено ниже.
2) Либо ищется форум по spss с живыми людьми - сразу скажу, что можно не предлагать spsstools.com.ru/ и spssforum.com - там людей нет.
3) Либо ищется человек, который напишет мне код для реализации изложенного ниже.


SPSS v.22. Анализируется отечественная банковская система на основе данных публикуемой отчетности 2004-14гг. Зависимая переменная в моей выборке market_default имеет два состояния "0" - банк продолжает операционную деятельность и "1" - дефолт (отозвана лицензия). Думаю, очевиден факт, что измерений типа "дефолт" (т.е. 1) набирается на порядок меньше, чем "не дефолт" (т.е. 0), банкротов меньше, чем живых, слава Богу.

я хочу оценить вероятность наступления дефолта и строю матмодель. Ее параметры: квартальные данные отчетности приведены к панельному виду, лаги объясняющих переменных в 1 квартал, регрессия логит. Мне необходимо поднять долу дефолтных измерений с 1% до более значимой величины (до 5-7%), тогда оценка по модели должна быть более устойчивой.

Как мне организовать бутстреп таким образом, чтобы при расчете, например, 1000 моделей по 1000 выборкам брались ВСЕ наблюдения с переменной market_default = 1 и только определенная доля наблюдений с market_default=0. последнее бралось бы случайным образом. Можно на примере любой другой стат проги. Мне важен принцип
24 апр 14, 14:12    [15929174]     Ответить | Цитировать Сообщить модератору
 Re: бутстраппинг по определенным критериям в SPSS  [new]
PlanB
Member

Откуда: Moscow
Сообщений: 2762
Поздравлю сам себя! Домучил сайт spsstools.ru и попутно еще несколько по тематике синтаксиса. Сам код касательно логики вообще плевый, но записать его оказалось для меня не легко.

Слово бутстраппинг оказалось совершенно лишним - штука крутая, но то, что я хотел конкретно, он делать не умеет. В итоге исходный файл был разделен на две части, из первого бралась только часть наблюдений, а из второго (там, где дефолты) все наблюдения. Далее результаты моделей сохранялись. Повыдергивать их из XML мне показалось куда легче, чем писать обработчик в неизвестной проге.

Если будущим поколениям понадобятся комментарии по коду, приведенному ниже, я с удовольствием поделюсь тем, что понял сам.

+
DEFINE !sss ().
!DO !var=1 !TO 1000.
GET 
      FILE='C:\Users\ck\Desktop\DISSERT\SPSS_22\stata_3l.sav'.
SAMPLE  .05.

ADD FILES /FILE=*
   /FILE='C:\Users\ck\Desktop\DISSERT\SPSS_22\stata_3d.sav'.

DATASET NAME !CONCAT("dts11t1_", !var).

EXECUTE.

DATASET ACTIVATE !CONCAT("dts11t1_", !var).
 
LOGISTIC REGRESSION VARIABLES default_market 
   /METHOD=ENTER L_NA_lag1 L_NP_lag1 L_NEISP_lag1 CA_NA_lag1 WA_NA_lag1 NPL_WA_lag1 PROV_WA_lag1 NPL_PROVnpl_lag1 Pbank_WA_lag1 Plegal_WA_lag1 Pind_WA_lag1 Psec_WA_lag1 NP_NA_lag1 NP_WA_lag1 NP_CA_lag1 BAL1d_lag1 BAL30d_lag1 BAL1y_lag1 BAL3y_lag1 Fcbr_LI_lag1 Fbank_LI_lag1 Flegal_LI_lag1 Find_LI_lag1 Fsec_LI_lag1 
   /CRITERIA=PIN(.05) POUT(.10) ITERATE(20) CUT(.5)
   /OUTFILE=MODEL (!QUOTE(!CONCAT("C:\Users\ck\Desktop\DISSERT\SPSS_22\SUBSAMPLES\ss_", !var, ".xml"))).

DATASET CLOSE !CONCAT("dts11t1_", !var).

!DOEND.
!ENDDEFINE.

!sss.
29 апр 14, 11:45    [15950950]     Ответить | Цитировать Сообщить модератору
Все форумы / Вопрос-Ответ Ответить