Создайте функцию, которая вычисляет отрицательную логарифмическую вероятность модели - PullRequest
1 голос
/ 23 сентября 2019

Цель состоит в том, чтобы предсказать переменную категориального ответа y, которая принимает значение да, если клиент подписался на срочный депозит, и нет в противном случае.В качестве предиктора вы будете использовать переменную длительность, т. Е. Длительность последнего контакта в секундах.У меня есть эта модель: yi = β0 + β1durationi + εi

Мне нужно сделать это: 1. Создать функцию, которая принимает вектор двух значений в качестве входных данных (β) и вычисляет отрицательную логарифмическую вероятностьмодель.2. Оцените соотношение между y и X с помощью наименьших квадратов и сохраните расчетные коэффициенты в объекте, который послужит отправной точкой для оптимизации.

os.chdir("/Users/aleksandra/Downloads/bank")
import pandas as pd
import numpy as np
import statsmodels.api as sm
import scipy
import scipy.optimize as optimization

df = pd.read_csv("bank.csv",sep=";")

df['y'] = df['y'].map(lambda x: 1 if x == 'yes' else 0)

y = df['y']

X = df[['duration']]
X['constant'] = 1

def neg_log_likelyhood(y_true, y_pred):
    return -np.sum(y_true * np.log(y_pred) + (1 - y_true) * np.log(1 - y_pred))/len(y_true)

Но я не понимаю, как это сделать 1и 2 задания.

...