
Função para ajustar um modelo beta ordinal
betaregscale_fit_z.Rd
A função betaregscale ajusta um modelo beta para escala usando a função optim do pacote stats, retornando uma tabela com estatísticas sumarizadas do ajuste, incluindo intervalos de confiança e cálculo do BIAS.
Usage
betaregscale_fit_z(
formula,
dados,
link = "logit",
link_phi = "logit",
num_hessiana = TRUE,
acumulada = TRUE,
ncuts = 100,
type = "m",
lim = 0.5,
repar = "2",
method = "BFGS"
)
Arguments
- formula
Fórmula para expressar a relação das preditoras X1, X2, Xn relacionadas com os betas e Z1 + Z2 com phi. A formula pode ser escrita em forma composta. Isto é, com três partes, como no exemplo y ~ x1 + x2 | z1 + z2. Para mais detalhes veja
Formula
.- dados
Um conjunto de dados que contém a variável dependente e as variáveis independentes especificadas na fórmula.
- 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.
- 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.
- method
Método a ser usado. Veja detalhes em
optim
Value
Retorna uma lista contendo o resultado da otimização e uma tabela com estatísticas sumarizadas do ajuste.
Examples
n <- 50
dados <- data.frame(
x1 = rnorm(n), x2 = rnorm(n),
z1 = runif(n), z2 = runif(n))
formula <- y ~ x1 + x2 | z1
dados_simulados <- betaregscale_simula_dados_z(
formula_x = ~x1 + x2,
formula_z = ~z1,
dados = dados,
betas = c(0.2, -0.5, 0.3),
zetas = c(1, 1.2),
link = "logit",
link_phi = "logit",
ncuts = 100)
fit_z <- betaregscale_fit_z(
formula = formula,
dados = dados_simulados,
link = "logit",
link_phi = "logit",
num_hessiana = TRUE)
coe <- betaregscale_coef(fit_z)
coe$est
#> variable estimate ci_lower ci_upper se t_value
#> 1 (Intercept) 0.02866613 -0.3606243 0.41795654 0.1986212 0.14432564
#> 2 x1 -0.46596768 -0.8650152 -0.06692013 0.2035994 -2.28864923
#> 3 x2 0.29925121 -0.1635151 0.76201752 0.2361096 1.26742503
#> 4 phi_(Intercept) 0.90786907 0.4072485 1.40848968 0.2554234 3.55436957
#> 5 phi_z1 0.03402088 -0.8335643 0.90160606 0.4426536 0.07685666
#> p_value
#> 1 0.8858877695
#> 2 0.0268473734
#> 3 0.2115229682
#> 4 0.0009040564
#> 5 0.9390782793
coe$gof
#> logLik AIC BIC
#> 1 -141.6347 295.2694 306.7415