python - 如何确定初始猜测值并最小化以找到参数
问题描述
如果有任何问题,请更正我的代码。我要做的就是最小化函数以找到参数“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。
解决方案
推荐阅读
- arrays - JSON到TypeScript中带有数组的嵌套对象
- asp.net - 通过 VPN 连接时,无法通过浏览器访问 Docker for Windows 应用程序
- amazon-ec2 - 在 Amazon Linux 2 上安装 YouCompleteMe
- javascript - 如何在点击时增加每个元素的值
- c# - Oracle .NET 为 ExecuteScalar int 值附加 M。VS2019 仅在工具提示中报告 int
- mysql - MySQL 使用 where 子句从左连接中过滤信息
- reactjs - 你能在 React-Native 中使用 React-fiber/Three.js
- laravel - 为什么对未定义路由的请求会在 Laravel 中导致 401 未经身份验证
- javascript - 使用 React 在对象内部的数组中显示数据
- linux - 显示 find 命令的第一个找到的输出