ОШИБКА SAS В PRO C HPBIN .... ОШИБКА: переменная класса - PullRequest
0 голосов
/ 08 февраля 2020

Я ПОЛУЧИЛ ЭТОТ ЗАПРОС И ПОЛУЧИЛ СООБЩЕНИЕ ОБ ОШИБКЕ:

ERROR: num_bankrupt_iva is class variable, only interval variable is supported.

/*WoE and IV Analysis*/
proc hpbin data=train numbin=5;
    input monthly_installment loan_balance bureau_score2    num_bankrupt_iva time_since_bankrupt
    num_ccj2 time_since_ccj ccj_amount  num_bankrupt    num_iva min_months_since_bankrupt
    ltv arrears_months  origination_date maturity_date arrears_status   arrears_segment 
    mob remaining_mat loan_term live_status repaid_status /*year quarter*/ 
    month worst_arrears_status max_arrears_12m  recent_arrears_date months_since_2mia
    avg_mia_6m max_arrears_bal_6m max_mia_6m    avg_bal_6m  avg_bureau_score_6m
    cc_util annual_income emp_length months_since_recent_cc_delinq;
    ods output mapping=mapping;
run;

, а в ЖУРНАЛЕ отображаются эти ошибки:

NOTE: Binning methods: BUCKET BINNING .
ERROR: num_bankrupt_iva is class variable, only interval variable is supported.
ERROR: time_since_bankrupt is class variable, only interval variable is supported.
ERROR: time_since_ccj is class variable, only interval variable is supported.
ERROR: ccj_amount is class variable, only interval variable is supported.
ERROR: num_bankrupt is class variable, only interval variable is supported.
ERROR: num_iva is class variable, only interval variable is supported.
ERROR: min_months_since_bankrupt is class variable, only interval variable is supported.
ERROR: recent_arrears_date is class variable, only interval variable is supported.
ERROR: months_since_2mia is class variable, only interval variable is supported.
ERROR: avg_bureau_score_6m is class variable, only interval variable is supported.
NOTE: The number of bins is: 5.
NOTE: The HPBIN procedure is executing in single-machine mode.

1 Ответ

1 голос
/ 09 февраля 2020

Кажется, что все эти переменные в журнале указаны как символы во входном наборе данных. Вам нужно будет преобразовать их в цифры c с помощью функции input(). Или вы можете умножить их на 1 и позволить SAS автоматически выполнить преобразование.

data want;
    set have;
    numvar = input(classvar, 8.);
    numvar2 = 1*classvar;
run;
...