首页 > 解决方案 > 如何确定初始猜测值并最小化以找到参数

问题描述

第一个是“x”值,第二列是“事件”值如果有任何问题,请更正我的代码。我要做的就是最小化函数以找到参数“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中,a和b分别得到-1.2和-0.045。

标签: pythonmathoptimizationminimize

解决方案


推荐阅读