我正在尝试编写将在此等式中找到n的代码。
将其余部分作为用户定义的变量。
from scipy.optimize import fsolve
from scipy.stats import t
def f(alpha, beta, sigma, delta, eps):
n = ((t.ppf(1-alpha,2*n-2) + t.ppf((1-beta)/2,2*n-2))**2*sigma**2)/(2* (delta-abs(eps))**2)
我还希望能够设置不同的参数场景,然后让它输出参数和结果的表格(例如,输入alpha1,alpha2,beta1,beta2等,然后输出[alpha1, beta1,...,n],[alpha1,beta2,...,n])。我不太确定如果有人能指出我正确的方向,最好的办法是什么呢。
答案 0 :(得分:0)
根据等式的外观,您试图找到满足统计检验方程的观测数(n)。如果是这种情况,则n是自然数(0,1,2 ......等),并且易于迭代。
你可以自己设置一个求解器,你可以将n作为可迭代,将结果作为"结果"等式:
for n in range(0, 1000):
result = your_function(n, other_parameters)
然后您只需通过设置:
来检查是否满足等式 if n >= result:
print "result:", n
break # This will exit the loop
测试不同用户给定参数的方法是,您可以设置另一个循环,迭代alpha,beta等不同的值。