Skip to contents

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