Optimize.minimize的2个问题

时间:2018-10-03 01:16:19

标签: python

我正在尝试使用熊猫数据框最大化对数似然函数。我有33281个观测值,并且正在使用矩阵X和J(在这里用假矩阵代替)。我在函数中所做的所有事情对我来说似乎都是合法的,但我不断收到2个错误:(1)如果使用正确数量的观察值,它将永不停止计算且不会报告任何结果。 (2)如果减少观察次数并尝试使用最小化,则会出现以下错误ValueError: setting an array element with a sequence. 这是我的代码

X    = np.ones((33281,1))
J    = np.ones((33281,6))
beta = -0.1

def logit_logl(beta, X, J): 
    n = X.shape[0]
    X = np.array(X, ndmin = 2)  
    J = np.array(J, ndmin = 2)

    Xbeta        = X * beta
    numerator    = np.exp(Xbeta)

    denominator  = np.zeros((n,1))

    for i in range(0, 5):
        var = J[:,i]
        column = np.exp( var * beta )
        denominator = denominator + column

    individual_logl =   np.log( numerator / denominator )
    log_l           = - np.sum(individual_logl, axis=0)
    return log_l

args      = (X, J)
result1   = minimize(logit_logl, beta, args) 

0 个答案:

没有答案