1 Modelo de Geração de Viagens Compulsórias ao Longo do Dia

library(xlsx)
library(dplyr)
library(DT)
dados1 = read.xlsx2("Dados.xls", sheetIndex = 2, colClasses=NA)
sexo = unique(dados1$Sexo)
domicilios = unique(dados1$Código.do.domicílio)
unique(dados1$Motivo.da.viagem)
## [1] 9 1 2 3 7 4 8 5 6

1.1 Realiza a transformação de dados:

  • Número de viagens com motivo estudo no domicílio
  • Número de viagens com motivo trabalho no domicílio
  • Número de viagens compulsórias no domicílio
  • Número de analfabetos no domicílio
  • Número de pessoas com escolarida até 1º grau no domicílio
  • Número de pessoas com escolarida até 2º grau no domicílio
  • Número de pessoas com escolarida até 3º grau no domicílio
  • Número de pessoas com escolarida até 4º grau no domicílio
  • Atividade principal do responsável pelo domicílio
  • Escolaridade do responsável pelo domicílio
  • Sexo do responsável pelo domicílio
  • Número de pessoas do sexo feminino no domicílio
  • Número de pessoas do sexo masculino no domicílio
  • Número de estudantes no domicílio
  • Número de trabalhadores no domicílio
dados1$ratio = 0
dados1$ratio2 = 0
dados1$estudantes = 0
dados1$Nestudantes = 0

for (domicilio in domicilios) {
  temp = dados1[dados1$Código.do.domicílio == domicilio,]
  situacaoamiliarUm = temp[temp$Situação.familiar.da.pessoa ==1, ]
  situacaoamiliarUm = situacaoamiliarUm[1,]
  
  trabalho = temp[temp$Motivo.da.viagem ==2, c("Motivo.da.viagem")]
  educacao = temp[temp$Motivo.da.viagem ==3, c("Motivo.da.viagem")]
  
  
  rows = unique(temp$Código.do.domicílio)
  temp = temp[!duplicated(temp$Pessoa), ]
  Analfabetos = temp[temp$Grau.de.instrução ==1, c("Grau.de.instrução")]
  PrimeiroGrau = temp[temp$Grau.de.instrução ==2 | temp$Grau.de.instrução ==3 | temp$Grau.de.instrução ==4, c("Grau.de.instrução")]
  SegudoGrau = temp[temp$Grau.de.instrução ==5 | temp$Grau.de.instrução ==6, c("Grau.de.instrução")]
  TerceiroGrau = temp[temp$Grau.de.instrução ==7 | temp$Grau.de.instrução ==8, c("Grau.de.instrução")]
  QuartoGrau = temp[temp$Grau.de.instrução ==9 | temp$Grau.de.instrução ==10, c("Grau.de.instrução")]
  temp1 = temp %>% group_by(Pessoa, Sexo)
  dados1[dados1$Código.do.domicílio == domicilio, c("trabalho")] = length(trabalho)
  dados1[dados1$Código.do.domicílio == domicilio, c("educacao")] = length(educacao)
  dados1[dados1$Código.do.domicílio == domicilio, c("compulsorias")] = length(educacao) + length(trabalho)
  dados1[dados1$Código.do.domicílio == domicilio, c("Analfabetos")] = length(Analfabetos)
  dados1[dados1$Código.do.domicílio == domicilio, c("PrimeiroGrau")] = length(PrimeiroGrau)
  dados1[dados1$Código.do.domicílio == domicilio, c("SegudoGrau")] = length(SegudoGrau)
  dados1[dados1$Código.do.domicílio == domicilio, c("TerceiroGrau")] = length(TerceiroGrau)
  dados1[dados1$Código.do.domicílio == domicilio, c("QuartoGrau")] = length(QuartoGrau)
  dados1[dados1$Código.do.domicílio == domicilio, c("atividadeResponsável")] = ifelse(!is.na(situacaoamiliarUm$Situação.familiar.da.pessoa),    situacaoamiliarUm$Atividade.principal, 0)
  dados1[dados1$Código.do.domicílio == domicilio, c("escolaridadeResponsável")] = ifelse(!is.na(situacaoamiliarUm$Situação.familiar.da.pessoa), situacaoamiliarUm$Grau.de.instrução, 0)
  dados1[dados1$Código.do.domicílio == domicilio, c("sexoResponsável")] = ifelse(!is.na(situacaoamiliarUm$Situação.familiar.da.pessoa), situacaoamiliarUm$Sexo, 0)
  dados1[dados1$Código.do.domicílio == domicilio, c("ratio")] = (tryCatch(sum(temp1[temp1$Sexo==1,c("Sexo")]), error = function(e) 0))
  dados1[dados1$Código.do.domicílio == domicilio, c("ratio2")] = length(temp1$Sexo) - (tryCatch(sum(temp1[temp1$Sexo==1,c("Sexo")]), error = function(e) 0))
  
  temp2 = temp %>% group_by(Pessoa)
  dados1[dados1$Código.do.domicílio == domicilio, c("estudantes")] = tryCatch(dim(temp2[temp2$Estuda.atualmente!=1,c("Estuda.atualmente")])[1], error = function(e) 0)
  dados1[dados1$Código.do.domicílio == domicilio, c("Nestudantes")] = tryCatch(dim(temp2[temp2$Estuda.atualmente==1,c("Estuda.atualmente")])[1], error = function(e) 0)
  dados1[dados1$Código.do.domicílio == domicilio, c("Trabalhadores")] = tryCatch(dim(temp2[temp2$Atividade.principal ==2 | temp2$Atividade.principal ==3 | temp2$Atividade.principal ==4 | temp2$Atividade.principal ==5 | temp2$Atividade.principal ==6,])[1], error = function(e) 0)
}

1.2 Faz o resumo dos dados

glimpse(dados1)
## Rows: 21,378
## Columns: 46
## $ Código.do.domicílio                  <dbl> 135, 135, 141, 141, 141, 141, ...
## $ Zona.de.Tráfego.do.domicílio         <dbl> 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, ...
## $ Endereço.do.domicílio..CDL.          <fct> 7877053, 7877053, 7877053, 787...
## $ Número.do.domicílio                  <fct> 257, 257, 111, 111, 111, 111, ...
## $ Tipo.de.moradia                      <dbl> 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, ...
## $ Nro.de.pessoas.no.domicílio          <dbl> 1, 1, 3, 3, 3, 3, 3, 3, 3, 3, ...
## $ Consumo.energia.elétrica.em.kW       <dbl> 0, 0, 229, 229, 229, 229, 229,...
## $ Consumo.energia.elétrica.em.R.       <dbl> 25, 25, 0, 0, 0, 0, 0, 0, 0, 0...
## $ Nro.de.automóveis                    <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...
## $ Nro.de.motos                         <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...
## $ Fator.de.expansão.para.domicílios    <dbl> 25.530, 25.530, 34.962, 34.962...
## $ Pessoa                               <dbl> 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, ...
## $ Situação.familiar.da.pessoa          <dbl> 1, 1, 1, 1, 1, 1, 6, 6, 6, 6, ...
## $ Idade                                <dbl> 73, 73, 32, 32, 32, 32, 32, 32...
## $ Sexo                                 <dbl> 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, ...
## $ Estuda.atualmente                    <dbl> 1, 1, 6, 6, 6, 6, 1, 1, 1, 1, ...
## $ Grau.de.instrução                    <dbl> 8, 8, 7, 7, 7, 7, 6, 6, 6, 6, ...
## $ Atividade.principal                  <dbl> 7, 7, 1, 1, 1, 1, 1, 1, 1, 1, ...
## $ Rendimento.líquido.mensal            <dbl> 2000, 2000, 600, 600, 600, 600...
## $ Nro.da.viagem                        <dbl> 1, 2, 1, 2, 3, 4, 1, 2, 3, 4, ...
## $ Motivo.da.viagem                     <dbl> 9, 1, 2, 1, 3, 1, 2, 1, 2, 1, ...
## $ Horario.de.saída                     <dtt<GMT>> 1899-12-30 08:30:00, 1899...
## $ Endereço.da.origem.da.viagem..CDL.   <fct> 7877053, 8280034, 7877053, 787...
## $ Nro.da.origem.da.viagem              <fct> 257, , 111, 1111, 111, , 111, ...
## $ Endereço.de.destino.da.viagem..CDL.  <fct> 8280034, 7877053, 7874233, 787...
## $ Nro.do.destino.da.viagem             <fct> , 257, 1111, 111, , 111, 333, ...
## $ Zona.de.Tráfego.de.origem            <dbl> 4, 73, 4, 36, 4, 4304606, 4, 4...
## $ Zona.de.Tráfego.de.destino           <dbl> 73, 4, 36, 4, 4304606, 4, 4, 4...
## $ Modo.utilizado.na.viagem             <dbl> 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, ...
## $ Fator.de.expansão.para.deslocamentos <dbl> 22.77250, 22.77250, 34.10893, ...
## $ ratio                                <dbl> 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, ...
## $ ratio2                               <dbl> 0, 0, 3, 3, 3, 3, 3, 3, 3, 3, ...
## $ estudantes                           <dbl> 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, ...
## $ Nestudantes                          <dbl> 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, ...
## $ trabalho                             <int> 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, ...
## $ educacao                             <int> 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, ...
## $ compulsorias                         <int> 0, 0, 5, 5, 5, 5, 5, 5, 5, 5, ...
## $ Analfabetos                          <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...
## $ PrimeiroGrau                         <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...
## $ SegudoGrau                           <int> 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, ...
## $ TerceiroGrau                         <int> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ...
## $ QuartoGrau                           <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...
## $ atividadeResponsável                 <dbl> 7, 7, 1, 1, 1, 1, 1, 1, 1, 1, ...
## $ escolaridadeResponsável              <dbl> 8, 8, 7, 7, 7, 7, 7, 7, 7, 7, ...
## $ sexoResponsável                      <dbl> 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, ...
## $ Trabalhadores                        <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...

1.3 Verifica o DataFrame

DT::datatable(dados1[1:200,], filter = 'top', options = list(
  language = list(url = '//cdn.datatables.net/plug-ins/1.10.11/i18n/Portuguese.json'),
  pageLength = 15, autoWidth = TRUE
))

1.4 Realiza-se a agregação dos dados

df = dados1 %>% 
  group_by(Código.do.domicílio, Zona.de.Tráfego.do.domicílio) %>% 
  summarise(Viagens =  n(), TipoMoradia =  mean(Tipo.de.moradia, na.rm = TRUE), Rendimento =  sum(Rendimento.líquido.mensal, na.rm = TRUE), 
            NFamilia =  mean(Nro.de.pessoas.no.domicílio, na.rm = TRUE), Energia = mean(Consumo.energia.elétrica.em.kW, na.rm = TRUE), 
            Energia2 = mean(Consumo.energia.elétrica.em.R., na.rm = TRUE), Veiculos = mean(Nro.de.automóveis, na.rm = TRUE), 
            Motos = mean(Nro.de.motos, na.rm = TRUE), NMulheres = mean(ratio, na.rm = TRUE), NHomens = mean(ratio2, na.rm = TRUE), NEstudantes = mean(estudantes, na.rm = TRUE), NnEstudantes = mean(Nestudantes, na.rm = TRUE), educacao = mean(educacao, na.rm = TRUE), trabalho = mean(trabalho, na.rm = TRUE), compulsorias = mean(compulsorias, na.rm = TRUE), Analfabetos = mean(Analfabetos, na.rm = TRUE), PrimeiroGrau = mean(PrimeiroGrau, na.rm = TRUE), SegudoGrau = mean(SegudoGrau, na.rm = TRUE), TerceiroGrau = mean(TerceiroGrau, na.rm = TRUE), QuartoGrau = mean(QuartoGrau, na.rm = TRUE), escolaridadeResponsável = mean(escolaridadeResponsável, na.rm = TRUE), atividadeResponsável = mean(atividadeResponsável, na.rm = TRUE), sexoResponsável = mean(sexoResponsável, na.rm = TRUE), NTrabalhadores = mean(Trabalhadores, na.rm = TRUE), IdadeMediaDom = mean(Idade, na.rm = TRUE))

1.5 Tabela Final dos dados

DT::datatable(df[1:200,], filter = 'top', options = list(
  language = list(url = '//cdn.datatables.net/plug-ins/1.10.11/i18n/Portuguese.json'),
  pageLength = 15, autoWidth = TRUE
))

1.6 Semariza-se os dados

glimpse(df)
## Rows: 4,169
## Columns: 27
## Groups: Código.do.domicílio [4,169]
## $ Código.do.domicílio          <dbl> 135, 141, 142, 149, 151, 152, 162, 176...
## $ Zona.de.Tráfego.do.domicílio <dbl> 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,...
## $ Viagens                      <int> 2, 10, 7, 3, 2, 10, 2, 14, 2, 8, 2, 3,...
## $ TipoMoradia                  <dbl> 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,...
## $ Rendimento                   <dbl> 4000, 5300, 25000, 720, 0, 40000, 0, 1...
## $ NFamilia                     <dbl> 1, 3, 2, 2, 1, 4, 1, 3, 3, 2, 1, 1, 1,...
## $ Energia                      <dbl> 0, 229, 0, 0, 90, 0, 0, 0, 0, 220, 0, ...
## $ Energia2                     <dbl> 25, 0, 50, 58, 0, 100, 80, 90, 39, 0, ...
## $ Veiculos                     <dbl> 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0,...
## $ Motos                        <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,...
## $ NMulheres                    <dbl> 1, 0, 0, 0, 1, 2, 0, 1, 0, 1, 1, 0, 1,...
## $ NHomens                      <dbl> 0, 3, 2, 1, 0, 1, 1, 2, 1, 1, 0, 1, 0,...
## $ NEstudantes                  <dbl> 0, 1, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 1,...
## $ NnEstudantes                 <dbl> 1, 2, 2, 1, 1, 3, 1, 1, 1, 2, 1, 0, 0,...
## $ educacao                     <dbl> 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1,...
## $ trabalho                     <dbl> 0, 4, 0, 0, 1, 4, 0, 0, 0, 4, 1, 1, 1,...
## $ compulsorias                 <dbl> 0, 5, 0, 0, 1, 5, 0, 1, 0, 4, 1, 2, 2,...
## $ Analfabetos                  <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,...
## $ PrimeiroGrau                 <dbl> 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,...
## $ SegudoGrau                   <dbl> 0, 2, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0,...
## $ TerceiroGrau                 <dbl> 1, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 1, 1,...
## $ QuartoGrau                   <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,...
## $ escolaridadeResponsável      <dbl> 8, 7, 6, 5, 6, 7, 8, 7, 7, 8, 7, 7, 7,...
## $ atividadeResponsável         <dbl> 7, 1, 7, 7, 1, 5, 7, 10, 7, 4, 1, 8, 1...
## $ sexoResponsável              <dbl> 1, 2, 2, 2, 1, 1, 2, 2, 2, 2, 1, 2, 1,...
## $ NTrabalhadores               <dbl> 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0,...
## $ IdadeMediaDom                <dbl> 73.00000, 31.00000, 76.42857, 65.00000...

1.7 Obtém a média energia KW e R$ e o rendimento médio por morador

df$MediaEnergia = mean(df$Energia + df$Energia2)
df$MediaRendaPessoa = df$Rendimento/df$NFamilia
library(xlsx)
df2 =  as.data.frame(df)
write.xlsx2(x = df2, file = "edom_poa.xlsx", sheetName = "ConsolidadaDia")
rm(df2)

1.8 Procede-se com a regressão de todos valores

temp = df
temp$Código.do.domicílio = NULL; 
model <- lm(compulsorias ~ ., data = temp)
summary(model)
## 
## Call:
## lm(formula = compulsorias ~ ., data = temp)
## 
## Residuals:
##        Min         1Q     Median         3Q        Max 
## -1.879e-13 -3.400e-16  1.000e-17  3.200e-16  4.325e-13 
## 
## Coefficients: (2 not defined because of singularities)
##                                Estimate Std. Error    t value Pr(>|t|)    
## (Intercept)                   9.502e-15  8.588e-16  1.106e+01  < 2e-16 ***
## Zona.de.Tráfego.do.domicílio  1.213e-17  6.029e-18  2.012e+00  0.04427 *  
## Viagens                      -3.836e-16  7.585e-17 -5.057e+00 4.44e-07 ***
## TipoMoradia                  -5.651e-16  1.337e-16 -4.226e+00 2.43e-05 ***
## Rendimento                   -9.733e-20  4.620e-20 -2.107e+00  0.03520 *  
## NFamilia                     -1.318e-15  1.780e-16 -7.409e+00 1.54e-13 ***
## Energia                       2.326e-18  1.745e-18  1.333e+00  0.18258    
## Energia2                      2.488e-18  2.548e-18  9.760e-01  0.32891    
## Veiculos                     -6.508e-16  2.049e-16 -3.175e+00  0.00151 ** 
## Motos                        -1.635e-15  6.833e-16 -2.393e+00  0.01674 *  
## NMulheres                    -2.069e-16  7.587e-15 -2.700e-02  0.97825    
## NHomens                      -3.750e-16  7.591e-15 -4.900e-02  0.96060    
## NEstudantes                   2.634e-15  2.963e-16  8.889e+00  < 2e-16 ***
## NnEstudantes                         NA         NA         NA       NA    
## educacao                      1.000e+00  2.812e-16  3.556e+15  < 2e-16 ***
## trabalho                      1.000e+00  1.573e-16  6.356e+15  < 2e-16 ***
## Analfabetos                  -3.426e-16  7.635e-15 -4.500e-02  0.96421    
## PrimeiroGrau                 -4.177e-16  7.584e-15 -5.500e-02  0.95608    
## SegudoGrau                   -4.274e-16  7.584e-15 -5.600e-02  0.95507    
## TerceiroGrau                 -3.592e-16  7.587e-15 -4.700e-02  0.96224    
## QuartoGrau                   -3.439e-16  7.605e-15 -4.500e-02  0.96394    
## escolaridadeResponsável       6.671e-17  7.639e-17  8.730e-01  0.38255    
## atividadeResponsável         -4.180e-17  5.130e-17 -8.150e-01  0.41527    
## sexoResponsável              -2.863e-16  3.049e-16 -9.390e-01  0.34767    
## NTrabalhadores               -9.509e-18  1.975e-16 -4.800e-02  0.96160    
## IdadeMediaDom                 2.764e-17  9.724e-18  2.842e+00  0.00450 ** 
## MediaEnergia                         NA         NA         NA       NA    
## MediaRendaPessoa              2.581e-19  1.090e-19  2.367e+00  0.01797 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 7.542e-15 on 4143 degrees of freedom
## Multiple R-squared:      1,  Adjusted R-squared:      1 
## F-statistic: 6.603e+30 on 25 and 4143 DF,  p-value: < 2.2e-16

1.9 Viagens Total

1.9.0.1 Variáveis: Zona.de.Tráfego.do.domicílio + TipoMoradia + Rendimento + NFamilia + Veiculos + Motos + Energia+ Zona.de.Tráfego.do.domicílio + NMulheres + NHomens + NEstudantes + NnEstudantes

model <- lm(Viagens ~ Zona.de.Tráfego.do.domicílio + TipoMoradia + Rendimento + NFamilia + Veiculos + Motos + Energia+ Zona.de.Tráfego.do.domicílio + NMulheres + NHomens  + NEstudantes +  NnEstudantes, data = df)
summary(model)#ok
## 
## Call:
## lm(formula = Viagens ~ Zona.de.Tráfego.do.domicílio + TipoMoradia + 
##     Rendimento + NFamilia + Veiculos + Motos + Energia + Zona.de.Tráfego.do.domicílio + 
##     NMulheres + NHomens + NEstudantes + NnEstudantes, data = df)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -6.6222 -0.8675 -0.3459  0.5954 16.3825 
## 
## Coefficients: (1 not defined because of singularities)
##                                Estimate Std. Error t value Pr(>|t|)    
## (Intercept)                  -1.575e-01  1.436e-01  -1.097  0.27284    
## Zona.de.Tráfego.do.domicílio -2.998e-03  1.311e-03  -2.286  0.02230 *  
## TipoMoradia                   8.007e-02  2.942e-02   2.722  0.00652 ** 
## Rendimento                    9.685e-05  4.770e-06  20.304  < 2e-16 ***
## NFamilia                     -1.327e-01  3.379e-02  -3.928 8.71e-05 ***
## Veiculos                      2.583e-01  4.101e-02   6.297 3.35e-10 ***
## Motos                         8.305e-02  1.514e-01   0.548  0.58340    
## Energia                       4.733e-04  3.668e-04   1.290  0.19700    
## NMulheres                     2.342e+00  5.083e-02  46.072  < 2e-16 ***
## NHomens                       2.325e+00  4.804e-02  48.394  < 2e-16 ***
## NEstudantes                   4.652e-01  4.090e-02  11.374  < 2e-16 ***
## NnEstudantes                         NA         NA      NA       NA    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 1.68 on 4158 degrees of freedom
## Multiple R-squared:  0.7396, Adjusted R-squared:  0.7389 
## F-statistic:  1181 on 10 and 4158 DF,  p-value: < 2.2e-16

1.9.0.2 Variáveis: Zona.de.Tráfego.do.domicílio + TipoMoradia + Rendimento + NFamilia + Veiculos + Motos + Energia+ Zona.de.Tráfego.do.domicílio + NMulheres + NHomens + NEstudantes + NnEstudantes + Analfabetos + PrimeiroGrau + SegudoGrau + TerceiroGrau + QuartoGrau + escolaridadeResponsável + sexoResponsável + atividadeResponsável

model <- lm(Viagens ~ Zona.de.Tráfego.do.domicílio + TipoMoradia + Rendimento + NFamilia + Veiculos + Motos + Energia+ Zona.de.Tráfego.do.domicílio + NMulheres + NHomens  + NEstudantes +  NnEstudantes + Analfabetos + PrimeiroGrau + SegudoGrau + TerceiroGrau + QuartoGrau + escolaridadeResponsável + sexoResponsável + atividadeResponsável, data = df)
summary(model)#ok
## 
## Call:
## lm(formula = Viagens ~ Zona.de.Tráfego.do.domicílio + TipoMoradia + 
##     Rendimento + NFamilia + Veiculos + Motos + Energia + Zona.de.Tráfego.do.domicílio + 
##     NMulheres + NHomens + NEstudantes + NnEstudantes + Analfabetos + 
##     PrimeiroGrau + SegudoGrau + TerceiroGrau + QuartoGrau + escolaridadeResponsável + 
##     sexoResponsável + atividadeResponsável, data = df)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -6.6630 -0.8811 -0.3580  0.5826 16.3932 
## 
## Coefficients: (1 not defined because of singularities)
##                                Estimate Std. Error t value Pr(>|t|)    
## (Intercept)                  -2.867e-01  1.636e-01  -1.752  0.07981 .  
## Zona.de.Tráfego.do.domicílio -2.290e-03  1.339e-03  -1.710  0.08740 .  
## TipoMoradia                   8.049e-02  2.958e-02   2.721  0.00654 ** 
## Rendimento                    9.441e-05  4.799e-06  19.675  < 2e-16 ***
## NFamilia                     -9.804e-02  3.844e-02  -2.551  0.01079 *  
## Veiculos                      2.015e-01  4.449e-02   4.529 6.11e-06 ***
## Motos                         8.631e-02  1.516e-01   0.569  0.56907    
## Energia                       4.019e-04  3.670e-04   1.095  0.27362    
## NMulheres                     4.749e+00  1.684e+00   2.820  0.00482 ** 
## NHomens                       4.738e+00  1.685e+00   2.811  0.00496 ** 
## NEstudantes                   4.234e-01  4.287e-02   9.876  < 2e-16 ***
## NnEstudantes                         NA         NA      NA       NA    
## Analfabetos                  -2.346e+00  1.696e+00  -1.383  0.16665    
## PrimeiroGrau                 -2.404e+00  1.685e+00  -1.427  0.15372    
## SegudoGrau                   -2.493e+00  1.685e+00  -1.479  0.13912    
## TerceiroGrau                 -2.352e+00  1.686e+00  -1.395  0.16300    
## QuartoGrau                   -2.224e+00  1.690e+00  -1.316  0.18815    
## escolaridadeResponsável       1.588e-02  1.681e-02   0.945  0.34476    
## sexoResponsável              -3.390e-03  6.711e-02  -0.051  0.95971    
## atividadeResponsável          1.852e-03  1.010e-02   0.183  0.85456    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 1.678 on 4150 degrees of freedom
## Multiple R-squared:  0.741,  Adjusted R-squared:  0.7398 
## F-statistic: 659.5 on 18 and 4150 DF,  p-value: < 2.2e-16

1.9.0.3 Variáveis: Zona.de.Tráfego.do.domicílio + TipoMoradia + Rendimento + NFamilia + Veiculos + Motos + Energia+ Zona.de.Tráfego.do.domicílio + NMulheres + NHomens + NEstudantes + NnEstudantes + Analfabetos + PrimeiroGrau + SegudoGrau + TerceiroGrau + QuartoGrau

model <- lm(Viagens ~ Zona.de.Tráfego.do.domicílio + TipoMoradia + Rendimento + NFamilia + Veiculos + Motos + Energia+ Zona.de.Tráfego.do.domicílio + NMulheres + NHomens  + NEstudantes +  NnEstudantes + Analfabetos + PrimeiroGrau + SegudoGrau + TerceiroGrau + QuartoGrau, data = df)
summary(model)#ok
## 
## Call:
## lm(formula = Viagens ~ Zona.de.Tráfego.do.domicílio + TipoMoradia + 
##     Rendimento + NFamilia + Veiculos + Motos + Energia + Zona.de.Tráfego.do.domicílio + 
##     NMulheres + NHomens + NEstudantes + NnEstudantes + Analfabetos + 
##     PrimeiroGrau + SegudoGrau + TerceiroGrau + QuartoGrau, data = df)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -6.7218 -0.8800 -0.3613  0.5799 16.4045 
## 
## Coefficients: (1 not defined because of singularities)
##                                Estimate Std. Error t value Pr(>|t|)    
## (Intercept)                  -1.986e-01  1.438e-01  -1.380 0.167533    
## Zona.de.Tráfego.do.domicílio -2.401e-03  1.335e-03  -1.798 0.072250 .  
## TipoMoradia                   8.100e-02  2.949e-02   2.747 0.006048 ** 
## Rendimento                    9.483e-05  4.786e-06  19.815  < 2e-16 ***
## NFamilia                     -1.184e-01  3.418e-02  -3.463 0.000541 ***
## Veiculos                      2.047e-01  4.406e-02   4.647 3.48e-06 ***
## Motos                         8.168e-02  1.514e-01   0.540 0.589465    
## Energia                       3.928e-04  3.669e-04   1.071 0.284357    
## NMulheres                     4.788e+00  1.682e+00   2.847 0.004436 ** 
## NHomens                       4.767e+00  1.682e+00   2.834 0.004622 ** 
## NEstudantes                   4.197e-01  4.268e-02   9.835  < 2e-16 ***
## NnEstudantes                         NA         NA      NA       NA    
## Analfabetos                  -2.376e+00  1.694e+00  -1.403 0.160756    
## PrimeiroGrau                 -2.423e+00  1.683e+00  -1.440 0.150010    
## SegudoGrau                   -2.502e+00  1.683e+00  -1.487 0.137083    
## TerceiroGrau                 -2.349e+00  1.683e+00  -1.396 0.162860    
## QuartoGrau                   -2.207e+00  1.687e+00  -1.308 0.190819    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 1.677 on 4153 degrees of freedom
## Multiple R-squared:  0.7409, Adjusted R-squared:  0.7399 
## F-statistic: 791.5 on 15 and 4153 DF,  p-value: < 2.2e-16

1.10 Viagens Compulsórias

  • Tamanho da família
  • Número de Veículos
  • Número de mulheres
  • Número de homens
  • Número de estudantes
  • Número de não estudantes
  • Número de trabalhadores
  • Número de Analfabetos
  • Número de pessoam com até 1º grau
  • Número de pessoam com até 2º grau
  • Número de pessoam com até 3º grau
  • Número de pessoam com até 4º grau
  • Sexo do responsável pelo domicílio
  • Atividade principal do responsável
  • Idade média do domicílio
model <- lm(compulsorias ~ + NEstudantes +  
    Analfabetos + PrimeiroGrau + SegudoGrau + TerceiroGrau + QuartoGrau  + sexoResponsável + atividadeResponsável + NTrabalhadores + IdadeMediaDom, data = df)
summary(model)
## 
## Call:
## lm(formula = compulsorias ~ +NEstudantes + Analfabetos + PrimeiroGrau + 
##     SegudoGrau + TerceiroGrau + QuartoGrau + sexoResponsável + 
##     atividadeResponsável + NTrabalhadores + IdadeMediaDom, data = df)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -5.7097 -0.4797 -0.0191  0.4056  7.5646 
## 
## Coefficients:
##                       Estimate Std. Error t value Pr(>|t|)    
## (Intercept)           0.461689   0.058137   7.941 2.55e-15 ***
## NEstudantes           0.446491   0.025033  17.836  < 2e-16 ***
## Analfabetos           0.194598   0.106581   1.826   0.0679 .  
## PrimeiroGrau          0.512305   0.024574  20.848  < 2e-16 ***
## SegudoGrau            0.612589   0.020456  29.947  < 2e-16 ***
## TerceiroGrau          0.754228   0.023759  31.745  < 2e-16 ***
## QuartoGrau            0.855960   0.064087  13.356  < 2e-16 ***
## sexoResponsável       0.161134   0.024165   6.668 2.93e-11 ***
## atividadeResponsável -0.077553   0.005596 -13.859  < 2e-16 ***
## NTrabalhadores        0.350351   0.021774  16.090  < 2e-16 ***
## IdadeMediaDom        -0.012095   0.001094 -11.055  < 2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.8828 on 4158 degrees of freedom
## Multiple R-squared:  0.6548, Adjusted R-squared:  0.654 
## F-statistic: 788.7 on 10 and 4158 DF,  p-value: < 2.2e-16
anova(model)
plot(fitted(model), residuals(model), xlab="Valores Ajustados", ylab="Resíduos")
abline(h=0)

plot(df$NTrabalhadores, residuals(model), xlab="N Trabalhadores", ylab="Resíduos")
abline(h=0)

plot(df$NEstudantes, residuals(model), xlab="N Estudantes", ylab="Resíduos")
abline(h=0)

plot(df$NHomens, residuals(model), xlab="N Homens", ylab="Resíduos")
abline(h=0)

plot(df$NMulheres, residuals(model), xlab="N MUlheres", ylab="Resíduos")
abline(h=0)

1.10.0.1 Variáveis: Zona.de.Tráfego.do.domicílio + TipoMoradia + MediaRendaPessoa + + Rendimento + NFamilia + Veiculos + Motos + Energia+ Zona.de.Tráfego.do.domicílio + NMulheres + NHomens + NEstudantes + NnEstudantes + Analfabetos + PrimeiroGrau + SegudoGrau + TerceiroGrau + QuartoGrau

model <- lm(compulsorias ~ Zona.de.Tráfego.do.domicílio + TipoMoradia + MediaRendaPessoa + + Rendimento + NFamilia + Veiculos + Motos + Energia+ Zona.de.Tráfego.do.domicílio + NMulheres + NHomens  + NEstudantes +  NnEstudantes + 
    Analfabetos + PrimeiroGrau + SegudoGrau + TerceiroGrau + QuartoGrau, data = df)
summary(model)#ok
## 
## Call:
## lm(formula = compulsorias ~ Zona.de.Tráfego.do.domicílio + TipoMoradia + 
##     MediaRendaPessoa + +Rendimento + NFamilia + Veiculos + Motos + 
##     Energia + Zona.de.Tráfego.do.domicílio + NMulheres + NHomens + 
##     NEstudantes + NnEstudantes + Analfabetos + PrimeiroGrau + 
##     SegudoGrau + TerceiroGrau + QuartoGrau, data = df)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -5.4933 -0.5733 -0.0565  0.5302  7.8041 
## 
## Coefficients: (1 not defined because of singularities)
##                                Estimate Std. Error t value Pr(>|t|)    
## (Intercept)                  -2.708e-01  8.306e-02  -3.261  0.00112 ** 
## Zona.de.Tráfego.do.domicílio -3.327e-04  7.598e-04  -0.438  0.66149    
## TipoMoradia                   1.293e-02  1.678e-02   0.771  0.44080    
## MediaRendaPessoa              5.034e-06  1.374e-05   0.366  0.71418    
## Rendimento                    2.390e-05  5.750e-06   4.156  3.3e-05 ***
## NFamilia                      6.502e-02  1.994e-02   3.261  0.00112 ** 
## Veiculos                      2.646e-02  2.507e-02   1.055  0.29135    
## Motos                         2.442e-01  8.611e-02   2.836  0.00460 ** 
## Energia                      -1.654e-04  2.087e-04  -0.792  0.42827    
## NMulheres                     2.619e+00  9.567e-01   2.737  0.00622 ** 
## NHomens                       2.532e+00  9.570e-01   2.646  0.00818 ** 
## NEstudantes                   5.417e-01  2.428e-02  22.310  < 2e-16 ***
## NnEstudantes                         NA         NA      NA       NA    
## Analfabetos                  -2.320e+00  9.636e-01  -2.408  0.01609 *  
## PrimeiroGrau                 -2.093e+00  9.572e-01  -2.187  0.02883 *  
## SegudoGrau                   -1.947e+00  9.572e-01  -2.034  0.04205 *  
## TerceiroGrau                 -1.813e+00  9.576e-01  -1.893  0.05839 .  
## QuartoGrau                   -1.596e+00  9.596e-01  -1.663  0.09644 .  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.9541 on 4152 degrees of freedom
## Multiple R-squared:  0.5974, Adjusted R-squared:  0.5958 
## F-statistic:   385 on 16 and 4152 DF,  p-value: < 2.2e-16

#### Variáveis: TipoMoradia + MediaRendaPessoa + + Rendimento + NFamilia + Veiculos + Motos + Energia+ Zona.de.Tráfego.do.domicílio + NMulheres + NHomens + NEstudantes + NnEstudantes

model <- lm(compulsorias ~ Zona.de.Tráfego.do.domicílio + TipoMoradia + MediaRendaPessoa + + Rendimento + NFamilia + Veiculos + Motos + Energia+ Zona.de.Tráfego.do.domicílio + NMulheres + NHomens  + NEstudantes +  NnEstudantes, data = df)
summary(model)#ok
## 
## Call:
## lm(formula = compulsorias ~ Zona.de.Tráfego.do.domicílio + TipoMoradia + 
##     MediaRendaPessoa + +Rendimento + NFamilia + Veiculos + Motos + 
##     Energia + Zona.de.Tráfego.do.domicílio + NMulheres + NHomens + 
##     NEstudantes + NnEstudantes, data = df)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -5.1709 -0.5895 -0.0634  0.5390  8.2290 
## 
## Coefficients: (1 not defined because of singularities)
##                                Estimate Std. Error t value Pr(>|t|)    
## (Intercept)                  -1.963e-01  8.428e-02  -2.329  0.01993 *  
## Zona.de.Tráfego.do.domicílio -2.153e-03  7.584e-04  -2.838  0.00456 ** 
## TipoMoradia                   2.420e-02  1.701e-02   1.423  0.15487    
## MediaRendaPessoa             -1.274e-06  1.398e-05  -0.091  0.92740    
## Rendimento                    2.876e-05  5.835e-06   4.928 8.63e-07 ***
## NFamilia                      2.613e-02  2.002e-02   1.305  0.19190    
## Veiculos                      1.323e-01  2.371e-02   5.578 2.59e-08 ***
## Motos                         2.528e-01  8.756e-02   2.887  0.00391 ** 
## Energia                      -8.866e-05  2.121e-04  -0.418  0.67598    
## NMulheres                     6.786e-01  2.940e-02  23.079  < 2e-16 ***
## NHomens                       5.886e-01  2.780e-02  21.173  < 2e-16 ***
## NEstudantes                   5.647e-01  2.365e-02  23.879  < 2e-16 ***
## NnEstudantes                         NA         NA      NA       NA    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.9717 on 4157 degrees of freedom
## Multiple R-squared:  0.5819, Adjusted R-squared:  0.5808 
## F-statistic:   526 on 11 and 4157 DF,  p-value: < 2.2e-16

1.10.0.2 Variáveis: TipoMoradia + NFamilia + Veiculos + Motos + Energia+ Zona.de.Tráfego.do.domicílio + NMulheres + NHomens + NEstudantes + NnEstudantes

model <- lm(compulsorias ~ TipoMoradia +  NFamilia + Veiculos + Motos + Energia+ Zona.de.Tráfego.do.domicílio + NMulheres + NHomens  + NEstudantes +  NnEstudantes, data = df)
summary(model)
## 
## Call:
## lm(formula = compulsorias ~ TipoMoradia + NFamilia + Veiculos + 
##     Motos + Energia + Zona.de.Tráfego.do.domicílio + NMulheres + 
##     NHomens + NEstudantes + NnEstudantes, data = df)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -5.3262 -0.5882 -0.0598  0.5486  8.1157 
## 
## Coefficients: (1 not defined because of singularities)
##                                Estimate Std. Error t value Pr(>|t|)    
## (Intercept)                  -0.1939406  0.0840816  -2.307 0.021127 *  
## TipoMoradia                   0.0278584  0.0172158   1.618 0.105699    
## NFamilia                      0.0191811  0.0197644   0.970 0.331861    
## Veiculos                      0.1740945  0.0236482   7.362 2.17e-13 ***
## Motos                         0.2427173  0.0886330   2.738 0.006199 ** 
## Energia                       0.0000555  0.0002142   0.259 0.795614    
## Zona.de.Tráfego.do.domicílio -0.0025437  0.0007666  -3.318 0.000914 ***
## NMulheres                     0.7060983  0.0296297  23.831  < 2e-16 ***
## NHomens                       0.6177526  0.0279735  22.084  < 2e-16 ***
## NEstudantes                   0.5519725  0.0239055  23.090  < 2e-16 ***
## NnEstudantes                         NA         NA      NA       NA    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.9837 on 4159 degrees of freedom
## Multiple R-squared:  0.5714, Adjusted R-squared:  0.5704 
## F-statistic:   616 on 9 and 4159 DF,  p-value: < 2.2e-16