
Ajuste modelo beta com resposta ordinal transformada intervalar via bbmle
betaregscale_bbmle.Rd
Função core que ajusta um modelo beta ordinal para resposta intervalar usando a função optim do pacote stats, retornando uma tabela com estatísticas sumarizadas do ajuste, tanto para dispesão fixa como variável.
Usage
betaregscale_bbmle(
formula,
dados,
link = "logit",
link_phi = "logit",
num_hessiana = TRUE,
acumulada = TRUE,
optimizer = "optim",
ncuts = 100,
type = "m",
lim = 0.5,
repar = "2"
)
Arguments
- formula
Fórmula para expressar a relação das preditoras X1, X2, Xn relacionadas com os betas e também Z1, Z2, ..., Zn para aquelas relacionadas com phi, se houver. Ela deve ser referenciada em Y. Ex. formula = y ~ X1 + X2 ou formula = y ~ X1 + X2 | Z1 ou formula = y ~X1 + X2 | Z1 + Z2, etc. Como a variável resposta é intervalar ela deverá ser passada como left e right no objeto dados. Veja os detalhes para mais informação.
- dados
Um conjunto de dados que contém a variável dependente e as variáveis independentes especificadas na fórmula. Ele dever conter o limite inferior (left) e o limite superior (right) da variável resposta intervalar Y.
- link
Nome da função de ligação a ser usada para as preditoras X1, X2, ..., Xn. Pode ser uma das seguintes: "logit", "probit", "cauchit", "cloglog" ou "identity". O padrão é "logit".
- link_phi
Nome da função de ligação a ser usada para as preditoras Z1, Z2, ..., Zn relacionadas com phi. Pode ser uma das seguintes: "log", "sqrt e "identity". O padrão é "log".
- num_hessiana
Se TRUE, calcula a matriz Hessian numericamente com o pacote numDeriv. Se FALSE, calcula com o padrão da optim.
- acumulada
Se TRUE, retorna a verossimilhança pela pbeta, dbeta caso contrário.
- optimizer
Algoritmo de otimização. Pode ser "optim" (padrão) ou "nlminb". Veja
mle2
para mais detalhes.- ncuts
Número de cortes para a variável ordinal. O padrão é 100.
- type
Tipo de intervalo. "m" = meio; "l" = esquerda e "r" = direita.
- lim
Região de incerteza da medida. Padrão 0.5.
- repar
Tipo de reparametrização sendo 0, 1 ou 2. Padrão 2.
Value
Retorna uma lista contendo o resultado da otimização e uma tabela com estatísticas sumarizadas do ajuste.
Examples
if (FALSE) {
require(bbmle)
n <- 100
dados <- data.frame(x1 = rnorm(n), x2 = rnorm(n),
z1 = runif(n), z2 = runif(n))
fx <- ~ x1 + x2
fz <- ~ z1
dados_simulados <- betaregscale_simula_dados_z(
formula_x = fx,
formula_z = fz,
dados = dados,
betas = c(0.2, -0.5, 0.3),
zetas = c(1, 1.2),
link = "logit",
link_phi = "logit",
ncuts = 100)
fit <- betaregscale_bbmle(formula = y ~ x1 + x2|z1,
dados = dados_simulados, link = "logit", link_phi = "logit")
p <- profile(fit)
plot(p)
}