когда я запускаю эту строку BT = решить (XTWX)% *% XTWz я получаю эту ошибку - PullRequest
0 голосов
/ 24 октября 2018

Подгоните обобщенную линейную модель к этим данным, используя распределение Пуассона, функцию log-link и уравнение:

g(λi) = log λi = β1 + β2xi

, где xi = log i.Во-первых, сделайте это из первых принципов, вырабатывая выражения для весовой матрицы W и другие термины, необходимые для итерационного уравнения:

XTWXb (m) = XTWz

while (int <= 10)
{
    j11 <-  sum(exp(A%*%B(b1,b2)))

    j12 <- sum(A[,2]*exp(A%*%B(b1,b2)))
    j21 <- j12
    j22 <- sum(A[,2]^2*exp(A%*%B(b1,b2)))

    XTW1 <- sum((A%*%B(b1,b2))*exp(A%*%B(b1,b2))+Y-exp(A%*%B(b1,b2)))
    XTW2 <- sum(A[,2]*((A%*%B(b1,b2))*exp(A%*%B(b1,b2))+Y-exp(A%*%B(b1,b2))))

    XTWX <- matrix(c(j11,j12,j21,j22),nrow=2,byrow=TRUE)
    XTWz <- matrix(c(XTW1,XTW2),byrow = TRUE)
    BT = solve(XTWX)%*%XTWz

    if (abs(b1-BT[1,1]) > 0.00001 |abs(b2-BT[2,1]) > 0.00001)
    {
        b1 <- BT[1,1];
        b2 <- BT[2,1];
        nit <- nit+1
    }
    else
    {
        break
    }
}

b1
b2
solve(XTWX)

Ошибка при решении.по умолчанию (XTWX): система вычислительно единственная: число взаимных условий = 1.42746e-18

что мне делать?пожалуйста помогите

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...