Пожалуйста, исправьте мой код, если что-то не так.Все, что я хочу сделать, - это минимизировать функцию, чтобы найти параметры «a» и «b», а также как определить первоначальное предположение, просто посмотрев на функцию.
import numpy as np
import pandas as pd
data=pd.read_csv("C:\\Users\\Bza\\Documents\\Project\\Python files\\Default Dataset.csv", header=None)
x=data.iloc[:,0]
events=data.iloc[:,1]
def f(params):
a, b = params
s=0.0
for i in range(0,71):
s+=((events[i]-x[i]**(a+b*np.log(x[i]))))/np.sqrt(events[i])
return s
guess=[1,1]
from scipy.optimize import minimize
result=minimize(f,guess,method='Nelder-Mead')
print (result)
Кстати, функцияФункция Чи в квадрате.В Mathematica я получаю -1,2 и -0,045 соответственно для a и b.