Я пытаюсь запустить многомерный кусочный GLM и в той же модели заморозить некоторые коэффициенты, но, очевидно, я использую неправильный синтаксис, потому что результаты не отображаются правильно.
Вот пример формулы:
pricing_1_formula = "pure_premium ~ I((channel_model == 'DIR')*1.1) + I((channel_model == 'IA')*1) + \
I((channel_model == 'EA')*1) + I((credit_model_52778 ==1)*credit_model_52778) + \
I((credit_model_52778 ==2)*credit_model_52778) + I((credit_model_52778 ==3)*credit_model_52778) +\
I((credit_model_52778 >= 500)*credit_model_52778) + credit_model_52778"
Чтобы разобраться в этом, кредитная модель на самом деле имеет баллы и закодированные переменные внутри нее. «1», «2» и «3» являются кодами для «не применимо», потому что credit_score не относится к этому наблюдению, нет попаданий и тонких файлов. Я хочу, чтобы они плавали в соответствии с моделью, а затем соответствовали линии до степени 1 всем остальным оценкам, начинающимся с 500.
Я хочу сохранить коэффициенты постоянными для канала, чтобы любое наблюдение, поступающее из канала 'DIR', имело коэффициент 1,1 (или 0,1 для сводки GLM) и 1 для любого наблюдения с каналом 'IA' и ' EA.
Однако коэффициенты для «DIR» возвращаются как -29.1108
. Я не уверен, какой синтаксис должен быть.