
Função para ajustar um modelo beta
betaregscale_fit.Rd
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