fitgam_prod: Ajuste De Superfície Para Produtibilidade

View source: R/fitgam.r

fitgam_prodR Documentation

Ajuste De Superfície Para Produtibilidade

Description

Estima GAM para produtibilidades

Usage

fitgam_prod(
  dat,
  ns = c(10, 10),
  ts = c("ps", "ps"),
  dist = gaussian(),
  bordas = TRUE,
  modo = c("tensor", "multivar", "simples"),
  gamctrl = list()
)

Arguments

dat

data.table de dados para ajuste. Ver Detalhes

ns

vetor dois inteiros, indicando dimensão da base em queda líquida e vazão, nesta ordem

ts

vetor de duas strings tipo de spline utilizada para queda líquida e vazão, respectivamente – veja smooth.terms para mais detalhes sobre as opções

dist

objeto da classe family indicando a distribuição e link a serem usados no ajuste. Veja family e glm para mais informações.

bordas

booleano indicando o uso ou não de bordas; alternativamente, um vetor de inteiros indicando quais vértices utilizar. Ver Detalhes

modo

um de "tensor", "multivar" ou "simples" indicando o modo de interação entre funções marginais. Ver Detalhes

gamctrl

lista contendo parâmetros de controle para a estimação do modelo aditivo. Ver gam.control (ou scam.control quando usando shape constrained splines)

Details

fitgam_prod espera que alguns atributos especiais estejam presetnes no argumento dat, dentre eles: codigo, nome e vazao turbinada efetiva total da usina. Destes, apenas o último é relevante para a estimação de curva, sendo os outros dois necessários para escrita de resultados e plots. Desta forma, para garantir o funcionamento apropriado da função o objeto passado em dat deve ter sido lido e (possivelmente) agregado semanalmente pelas funções fornecidas no pacote.

ts permite a especificação do tipo de spline utilizada na expansão de base em cada marginal. A maioria das opções suportadas pelo pacote mgcv são utilizáveis, com algumas exceções que não condizem com esta aplicação específica. fitgam_prod suporta as splines livres

  • "tp": thin-plate regression splines

  • "ts": thin-plate regression splines com encolhimento

  • "ds": duchon splines

  • "cr": cubic regression splines

  • "cs": cubic regression splines com encolhimento

  • "ps": P-splines

Para maiores detalhes a respeito das possibilidades e suas descrições, veja smooth.terms. Por padrão é utilizado ts = c("ps", "ps"), o que corresponde à expansão por P-Splines.

Adicionalmente às splines denominadas livres, fitgam_prod também suporta o uso de shape constrained P-splines, especificamente uma reparametrização que garante uma superfície côncava no domínio de ajuste, via ts = c("cv", "cv"). Maiores detalhes a respeito desta modelagem encontram-se em link[scam]{scam} e shape.constrained.smooth.terms. Embora existam ainda outras diversas parametrizações de shape constraints, apenas a concavidade faz sentido para produtibilidade.

Embora a função ofereça a possibilidade de utilizar ou não as bordas da curva colina como apoio para estimação do modelo, o domínio final é sempre o mesmo:

  • o ajuste de produtibilidade sempre cobre da vazão zero até o máximo entre a vazão histórica e aquela estipulada no HIDR, ou seja, mesmo que colina tenha bordas em vazões superiores, o ajuste NÃO vai até este ponto, dado que o DECOMP não consultará vazões tão elevadas

  • o domínio de queda líquida, por outro lado, sempre vai da menor a maior queda observadas na curva colina, mesmo que a borda não seja contemplada no ajuste. Isto é feito de modo a garantir que o ajuste possua o domínio completo de quedas operáveis pelas máquinas da usina

Ainda no que toca a borda, seu uso pode ser informado de duas formas: um valor lógico ou vetor numérico. Caso o primeiro seja informado, todos os pontos da borda são utilizados ou não. Caso se informe um vetor numérico, apenas os pontos listados neste vetor serão utilizados. A disposição do dado de borda é:

  1. menor queda, menor vazão

  2. MAIOR queda, menor vazão

  3. menor queda, MAIOR vazão

  4. MAIOR queda, MAIOR vazão

O argumento modo permite definir a estrutura geral do modelo aditivo. modo = "simples" implica em um modelo de efeitos aditivos sem iteração, isto é, a função estimada é da forma g(x) = f_1(X_1) + f_2(X_2), sem interação entre as variáveis. modo = "tensor" construirá uma função por produto tensor das marginais, isto é, levando em consideração a interação entre variáveis. modo = "multivar" só é aplicável quando all(ts %in% c("tp", "ts")), pois corresponde a modelagem com suavizadores naturalmente multivariados, que é o caso singular das thin plate regression splines.

Value

objeto gamprod contendo modelo aditivo ajustado

See Also

otimização da dimensão de base optgam_prod.

Other metodos gamprod: fitted.gamprod(), optgam_prod(), predict.gamprod(), residuals.gamprod()

Other plots gamprod: optgam_prod(), plot.gamprod()

Examples


dat <- agregasemana(dummydata)
# dimensao de base 8 para queda e 10 para vazao -- thin plate splines para queda e vazao
mod <- fitgam_prod(dat, ns = c(8, 10), ts = c("tp", "tp"))

# valores ajustados, previsao e residuos
res <- residuals(mod)
fitt <- fitted(mod)
predd <- predict(mod, newdata = data.frame(quedal = runif(100, 20.5, 21),
vazao = runif(100, 20, 150)))

# objetos retornados por fitgam_prod possuem um metodo de plot e lines, para facil visualizacao
## Not run: 
plot(mod)

## End(Not run)


lkhenayfis/gtdp-perdaprodvar documentation built on May 4, 2022, 2:55 a.m.