Skip to contents

A função fit_beta_ ajusta um modelo beta 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(
  formula,
  dados,
  link = "logit",
  link_phi = "logit",
  ncuts = 100,
  type = "m",
  lim = 0.5,
  num_hessiana = TRUE,
  acumulada = TRUE,
  repar = "2",
  method = "BFGS"
)

Arguments

formula

Fórmula para expressar a relação das preditoras X1, X2, Xn. Ela deve ser referenciada em Y. Ex. formula = y ~ X1 + X2. Isso porque a variável resposta é intervalar. 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.

link

Nome da função de ligação a ser usada. Pode ser uma das seguintes: "logit", "probit", "cauchit", "cloglog" ou "identity". O padrão é "logit".

link_phi

Função de ligação para phi. Uma dentre "log","sqrt","identity"

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.

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.

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

# Criar um conjunto de dados de exemplo
set.seed(42)
n <- 200
dados <- data.frame(
 x1 = rnorm(n, mean = 1, sd = 0.5),
 x2 = rbinom(n, size = 1, prob = 0.5),
 x3 = rnorm(n, mean = 2, sd = 1))
betas <- c(0.4, -0.6, 0.2)
formula <- y ~ x1 + x2
phi <- 1/5
dados_simulados <- betaregscale_simula_dados(
formula = ~ x1 + x2,
dados = dados,
betas = betas,
phi = phi,
link = "logit",
link_phi = "identity",
ncuts = 100,
type = "m")
fit <- betaregscale_fit(
 formula = formula,
 dados = dados_simulados,
 link = "logit",
 link_phi = "identity",
 method = "L-BFGS-B",
 num_hessiana = TRUE)
 fit$par
#> (Intercept)          x1          x2         phi 
#>  0.62260621 -0.80781226  0.05507616  0.20262802