class: center, middle, inverse, title-slide # Fator Oferta ## Contextualização, Conceitos e Paradigmas, Estado da Arte e Aplicações ### Luiz Fernando Palin Droubi ### Diretor Técnico da SOBREA ### 01 de julho de 2021 --- class: inverse, center, middle # Contextualização
--- # Contextualização ## Dados de transação: -- * Proxy para o valor de mercado -- - **Se** tratarem-se de *arms' lenght transactions*, ou seja, se as transações forem entre partes independentes. -- - Transações com valores muito discrepantes podem ser de vendas ocorridas em situações diferentes das que caracterizam as *arm's lenght transactions* -- ## Dados de oferta: -- * Proxy para o valor de mercado -- - **Se** os anúncios forem *validados* -- - Necessidade de um passo a mais: a qual distância do valor de mercado encontram-se os dados de oferta? --- class: inverse, center, middle # Conceitos e Paradigmas --- # Conceitos e Paradigmas ## Definições neoclássicas do **VM**: -- * Preços de mercado vs. Valor de Mercado (**VM**) -- - O preço de mercado é o valor efetivamente pago em uma determinada transação, enquanto **valor de mercado é um preço de venda hipotético ou estimado** que resultaria da consideração cuidadosa pelo comprador e vendedor de todos os dados, com confiança nos dados que refletem as ações de compradores e vendedores responsáveis e prudentes, sob condições de uma venda justa <a name=cite-spinney></a>([Spinney, 2010](#bib-spinney)). -- - IVSC: o **valor de mercado é a quantia estimada** pela qual uma propriedade deve ser negociada, na data de avaliação, entre um promitente comprador e um promitente vendedor, entre partes independentes, após um tempo adequado de exposição ao mercado, em que ambas as partes ajam com conhecimento, prudência e sem compulsão (French, 2006, p. 87). -- - **Valor de mercado é a quantia mais provável** pela qual se negociaria voluntariamente e conscientemente um bem, em uma data de referência, dentro das condições do mercado vigente <a name=cite-NBR1465301></a>([ABNT, 2019](#bib-NBR1465301)). --- # Conceitos e Paradigmas ## Valor mais provável vs. valor mais alto * Alguns autores entendem que o valor de mercado é o valor mais alto da distribuição de probabilidades <a name=cite-mooya2009></a>([Mooya, 2009](#bib-mooya2009)): -- - **Tome-se o exemplo de uma única propriedade colocada no mercado. Esta propriedade atrairá uma distribuição de ofertas normal de potenciais compradores**. O preço mais alto estará na extremidade superior da distribuição, enquanto o preço mais provável, em termos estatísticos, estará em seu centro. -- - Levando em contra que os preços reais de mercado são usados como *proxies* para o valor de mercado, a questão que se coloca é em que ponto da distribuição a propriedade será negociada. Na prática, **um vendedor buscará a maior oferta** possível que ele esteja ciente. -- - **Nestas circunstâncias, a propriedade será negociada próximo à extremidade superior da distribuição, não na média ou na moda da distribução**. De fato, assumindo que os vendedores são 'racionais', todos as vendas observadas serão ao maior valor possível de ser obtido. Isto leva muitos avaliadores a definir o **valor de mercado como o máximo preço possível**. --- # Conceitos e Paradigmas ## Valor mais provável vs. valor mais alto * Porém, isto vai de encontro ao senso comum e à intuição: -- - Definir o valor de mercado em termos da extremidade superior de uma distribuição normal está, no entanto, em desacordo com a maioria das definições e com a intuição. **Quanto mais próximo se chega da extremidade superior da distribuição, mais se chega próximo a negociações atípicas ou especiais** e, portanto, menos representativas do sentimento do mercado o preço de venda se torna. -- - **A maioria das definições de valor de mercado assumem compradores e vendedores típicos**. Intuitivamente, a maior parte das pessoas não reconheceria compras especiais (ou vendas forçadas) como boas evidências do valor de mercado. -- - **O senso comum requer que o valor de mercado seja 'representativo'** do mercado em questão e deva, então, se localizar **no centro da distribuição**. Avaliadores que concordam com esta visão definem o valor de mercado com o valor mais provável. --- # Conceitos e Paradigmas ## Valor mais provável vs. valor mais alto ### Como conciliar as duas definições de valor de mercado? -- * Segundo [Mooya (2009)](#bib-mooya2009), a confusão pode ser facilmente resolvida deixando explícitas as hipóteses em relação às informações disponíveis ao vendedor e a extensão do mercado em questão. **Se o vendedor tem informação total sobre todas as ofertas potenciais, a propriedade será vendida ao maior preço**. -- - **A realidade, contudo, é que o vendedor não terá a informação completa sobre o tamanho e a distribuição das ofertas**. Do ponto de vista do vendedor, a venda terá lugar ao máximo preço possível. Do ponto de vista de um observador onisciente, contudo, a propriedade será negociada, *a priori*, ao preço mais provável. Este preço deverá ser um preço 'médio', apenas porque haverá mais compradores naquele ponto e, então, uma mais alta probabilidade de consumar a negociação. -- - Deve-se lembrar que o **valor de mercado é uma estimativa de um preço de venda que não se realizou e provavelmenten nunca se realizará**. O preço realizado é, portanto, inteiramente uma questão de probabilidade -- * As reflexões acima se referem à localização do valor de mercado dentro de uma distribuição de probabilidade de dados de venda. E em relação aos dados de oferta? O valor de mercado pode ser encontrado dentro da distribuição de probabilidades de dados de oferta? Em que região? --- # Conceitos e Paradigmas ## Onde se situa o **VM** na distribuição de dados de oferta? -- .panelset[ .panel[.panel-name[Mercado Desaquecido] * **Hipótese:** o valor de mercado se encontra na região da cauda esquerda da distribuição de dados de oferta! <img src="images/unnamed-chunk-1-1.svg" style="display: block; margin: auto;" /> ] .panel[.panel-name[Mercado Aquecido] * **Hipótese:** o valor de mercado se situa próximo ao centro da distribuição dos dados de oferta. <img src="images/unnamed-chunk-2-1.svg" style="display: block; margin: auto;" /> ] ] --- # Conceitos e Paradigmas ## Crítica das definições de **VM** elaboradas a partir da teoria dos custos de transação -- * a maior parte da literatura sobre o mercado imobiliário é escrita sobre o paradigma do mercados perfeitos neoclássicos - muitos compradores, muitos vendedores, produtos homogêneos, informações completas, etc (Evans, 1995, p. 6; ver tb comentários de Watkins, 1998, p. 57). -- - atores nos mercados reais, no entanto, se deparam com custos de transação positivos, especialmente advindos de informação incompleta. -- - uma vez que os custos de transação são introduzidos, a aquisição de conhecimento ilimitado torna-se muito cara, ou ainda, impossível. -- * Em um extremo, tem-se a condição de mercado perfeito, e num outro extremo, tem-se a condição de mercado inexistente. Entre as duas situações, partindo do extremo de mercado inexistente, à medida que os custos de transação diminuem, ruma-se para a condição de mercado perfeito, onde existem muitos compradores, muitos vendedores e informação perfeita, *i.e.* os custos de transação são iguais a zero. --- background-image: url(https://news.berkeley.edu/wp-content/uploads/2014/07/cats300.jpg) background-size: contain # O gato de Schrodinger --- class: inverse, center, middle # Estado da arte --- # Estado da arte * It would seem therefore that valuation theory is faced with the simultaneity problem akin to that of quantum physics where, in this case, **market value cannot exist simultaneously with the need for valuation**. Valuers are required when transaction costs are high but at this point market value does not exist. Conversely, valuers are not required when transaction costs are zero and market value has emerged [Mooya (2009, p. 694-695)](#bib-mooya2009). -- * **Eles (os avaliadores) são produtores e vendedores de informação sobre os mercados imobiliários**, realizando a importante função de unir compradores e vendedores, para os quais, usualmente, a informação é faltante. É argumentado aqui que os **avaliadores não são meros coletores passivos de informação de mercado**. Pelo contrário, **eles ativamente criam informação onde nenhuma existe, para possibilitar que os mercados imobiliários funcionem**. -- * Ao estimar o 'valor de mercado' de uma propriedade, um avaliador está efetivamente estabelecendo uma regra para o mercado em questão -- - Deve ser enfatizado que os avaliadores não se propõem conscientemente a impor essas normas ao mercado, mas, mesmo assim, este é o efeito de suas ações. Uma vez que o 'valor de mercado' foi fornecido, os participantes do mercado não precisam pesquisar pessoalmente a distribuição de preços. -- - Além disso, o 'valor de mercado' fornece uma âncora sobre a qual a negociação entre os participantes podem ser baseados. **'Valor de mercado' é, portanto, um dispositivo para diminuir os custos de transação. Sua função é estabilizar as expectativas do mercado por meio do fornecimento de informações sobre preços**. --- # Estado da arte * <a name=cite-erba2019></a>[Erba (2019, p.40)](#bib-erba2019): En el área catastral es justamente la georreferenciación que permite estructurar bases de datos con la ubicación, forma y dimensiones de cada parcela, dándole continuidad a la información territorial. -- * En el área de catastro económico no pasa lo mismo, los datos no son comparables por falta de estandarización y de una referencia única [...] Para salir de estas trampas es necesario que se establezca una política catastral clara y objetiva, que referencie a todos los valores de los inmuebles a un sistema único el cual, inobjetablemente, debería ser el mercado inmobiliario. -- * Não é isto, então, justamente o que falta na AL? Não apenas ao CTM, como argumenta Erba, um referenciamento ao mercado imobiliário, como, inversamente, também falta ao mercado imobiliário um sistema de ancoragem, que é a informação cadastral!? -- - Se as informações cadastrais últimas estivessem disponíveis aos avaliadores, não haveria problema para estimar o fator oferta. -- - Se as informações cadastrais últimas estivessem disponíveis aos avaliadores, estes não necessitariam utilizar "fatores consagrados", através dos quais estão a inserir uma informação no mercado, de origem duvidosa. -- - Se as informações cadatrais últimas estivessem disponíveis aos proprietários, potenciais compradores e corretores, as ofertas ficariam, provavelmente, ancoradas nos preços das últimas transações, dando estabilidade ao mercado. --- # Estado da arte * Criação de valor de mercado *ex nihilo*: -- - Windhoek, Namíbia ([Mooya, 2009](#bib-mooya2009)): Na falta de melhores informações, o mercado estava ancorado nos valores constantes do cadastro municipal, que estava com valores desatualizados; -- - Um avaliador foi consultado a respeito do valor de mercado de uma propriedade em terras de propriedade comunal, que não eram possíveis de ser negociadas até aquele momento. Não havia informação mercadológica disponível, portanto, para a avaliação dessa terra. -- - De uma maneira ou de outra o avaliador, para a satisfação do seu cliente, entregou um laudo de avaliação da área. -- - Após a avaliação, um mercado sobre aquelas terras se desenvolveu, ancorado no valor da avaliação prévia. -- * Em suma: -- - O valor de mercado é normativo! -- - O valor de mercado pode ser estabelecido para qualquer mercado, tenha ele liquidez ou não. -- - avaliadores podem e realmente influenciam, ou até determinam os preços em mercados imobiliários. --- # Estado da Arte: Estimação do fator oferta * Utilizado para homogeneizar os dados de oferta com os dados de transações, visando estimar o valor de mercado. -- * Assumido multiplicativo: `\(P_{R} = \lambda P_{L}\)` <a name=cite-chinloy></a>([Chinloy, 1980](#bib-chinloy)). -- * <a name=cite-horowitz></a>[Horowitz (1992)](#bib-horowitz) remove a hipótese multiplicativa e ajusta um modelo econométrico para estimar os valores de venda à partir dos valores listados e das características dos imóveis, com a hipótese que `\(P_R < P_L\)` -- * <a name=cite-haurin></a>[Haurin, McGreal, Adair, Brown, and Webb (2013)](#bib-haurin) mostram que, em períodos de *boom*, no MI os preços de venda podem superar os preços de oferta. -- * <a name=cite-gribbin2019></a>[Gribbin (2019)](#bib-gribbin2019): Novas estratégias de venda podem afetar o valor do fator oferta. Enquanto nas estratégias convencionais o valor reservado é menor do que o valor ofertado, nas novas estratégias de venda é facultado ao proprietário ofertar o seu imóvel a um valor mais baixo que o de mercado, criando assim condições para um maior número de ofertas (leilão). -- * <a name=cite-fipezap></a>[FIPE and ZAP (2021)](#bib-fipezap) mostra descontos médios sempre positivos para o mercado brasileiro. --- background-image: url(./images/1-s2.0-S1051137713000041-gr1.jpg) background-size: contain # Fator oferta vs. Tempo --- background-image: url(./images/FIPEZAP.png) background-size: contain # Fator oferta vs. Tempo --- # Estado da Arte: O fator oferta ## Conclusão * A relação entre oferta/transação depende do mercado em questão e do momento em análise; -- * O avaliador deve analisar os dados de oferta e transação para tomar a melhor decisão sobre a relação momentânea entre ofertas e transações e a melhor maneira de modelá-la; -- * O avaliador deve prospectar o mercado para averiguar a eventual existência de diferentes estratégias de venda nos preços ofertados; -- * Na falta de melhores informações do mercado, o avaliador deve estar ciente de que estará inserindo informação no mercado. O melhor a fazer é estabelecer uma hipótese clara sobre a relação oferta/transação e deixar isso claro em seu laudo. --- class: inverse, center, middle # Aplicações --- # Estimação do Fator Oferta * <a name=cite-NBR1465302></a>[ABNT (2011)](#bib-NBR1465302): -- - 9.2.1.3 **É permitida a utilização de tratamento prévio dos preços** observados, **limitado a um único fator de homogeneização**, desde que fundamentado conforme 8.2.1.4.2, sem prejuízo dos ajustes citados em 9.2.1.2 (**exemplo: aplicação do fator de fonte para a transformação de preços de oferta para as condições de transação**). -- - **Os fatores devem ser calculados por metodologia científica**, como citado em 8.2.1.4.3, justificados do ponto de vista teórico e prático, com a inclusão de validação, quando pertinente [...] -- - Para a utilização deste tratamento **é recomendável que seja evitado** o uso de **fatores que**, aplicados isoladamente em relação ao avaliando ou ao paradigma, **heterogeneizem os valores originais**. Essa recomendação só é válida com a confirmação do efeito de heterogeneização, após a aplicação conjunta dos fatores. -- * <a name=cite-ibapeSP></a>[IBAPE/SP (2011)](#bib-ibapeSP): -- - 10.1 A superestimativa dos dados de oferta (elasticidade dos negócios) deverá ser descontada do valor total pela aplicação do fator médio observado no mercado. **Na impossibilidade da sua determinação, pode ser aplicado o fator consagrado 0,9** (desconto de 10% sobre o preço original pedido)... -- - Forma mista: 10.6 - 1. A utilização dos fatores deve ser na forma de somatório, **após a consideração do fator oferta**. --- # Estimação do Fator Oferta * <a name=cite-lima2006></a>[Lima (2006)](#bib-lima2006) mostrou como estimar os fatores cientificamente, *i.e.* a partir de modelos de regressão linear, tanto para a forma aditiva como para a forma multiplicativa de utilização dos fatores. -- * Basicamente, Lima mostrou que: -- - se os fatores são aplicados na forma aditiva, estes devem ser estimados por um modelo aditivo de regressão linear, da forma: `$$VU \sim \beta_1 X_1 + \beta_2X_2 + \ldots + \beta_kX_k + \varepsilon$$` -- - se os fatores são aplicados na forma multiplicativa, estes devem ser estimados por um modelo de regressão na escala logarítmica, da forma: $$ log(VU) \sim \beta_1X_1 + \beta_2X_2 + \ldots + \beta_kX_k + \varepsilon$$ -- * Porém, Lima não conseguiu chegar a uma forma para a estimação do fator oferta quando da utilização da forma mista, definida pelo IBAPE/SP, sugerindo *testar diversos fatores fonte `\(F_f\)`, até encontrar aquele que mais ajustasse o modelo de regressão para os demais fatores*. --- # Estimação do Fator Oferta * Argumento que pode-se estimar o Fator oferta ou Fator fonte para a forma mista através do seguinte modelo de regressão: `$$VU \sim Fonte*(\beta_1X_1 + \beta_2X_2 + \ldots + \beta_kX_k + \varepsilon)$$` -- * Ou seja, na forma mista, o Fator oferta pode ser estimado através de um modelo de regressão incluindo a variável dicotômica `\(Fonte\)` (0 se oferta, 1 se venda), interagindo com as outras variáveis explicativas na forma aditiva. --- # Estimação do Fator Oferta ## Modelo de regressão na forma direta `$$VU = (1 - 0,15.Fonte)(3000 - 0,25.Area + \varepsilon)$$` ```r R 4.0.2> set.seed(2) R 4.0.2> area <- runif(100, min = 250, max = 10000) R 4.0.2> venda <- rbinom(100, 1, .5) R 4.0.2> vu <- (1-.15*venda)*(3000 - .25*area + rnorm(100, 0, 150)) R 4.0.2> dados <- data.frame(VU = vu, Area = area, Fonte = factor(venda, labels = c("Oferta", "Venda"))) ``` -- ## Como estimar o fator oferta? --- # Estimação do Fator Oferta ### Test t para diferença entre duas médias -- .pull-left[ * Antes da homogeneização: ```r R 4.0.2> t.test(VU ~ Fonte, dados, alternative = "greater") ``` ``` ## ## Welch Two Sample t-test ## ## data: VU by Fonte ## t = 1.7467, df = 97.856, p-value = 0.04191 ## alternative hypothesis: true difference in means is greater than 0 ## 95 percent confidence interval: ## 11.90665 Inf ## sample estimates: ## mean in group Oferta mean in group Venda *## 1733.516 1492.118 ``` ] .pull-right[ * Após a homogeneização: ```r R 4.0.2> dados <- within(dados, VUhom <- ifelse(Fonte == "Oferta", .85*VU, VU)) R 4.0.2> t.test(VUhom ~ Fonte, dados, alternative = "greater") ``` ``` ## ## Welch Two Sample t-test ## ## data: VUhom by Fonte ## t = -0.14668, df = 96.512, p-value = 0.5582 ## alternative hypothesis: true difference in means is greater than 0 ## 95 percent confidence interval: ## -229.5684 Inf ## sample estimates: ## mean in group Oferta mean in group Venda *## 1473.489 1492.118 ``` ] -- * **Somente funciona devido à amostra ser balanceada (entre dados de ofertas e de transações)**. --- # Estimação do Fator Oferta ## Forma gráfica .panelset[ .panel[.panel-name[Antes] <img src="images/unnamed-chunk-6-1.svg" style="display: block; margin: auto;" /> ] .panel[.panel-name[Depois] <img src="images/unnamed-chunk-7-1.svg" style="display: block; margin: auto;" /> ] ] --- # Estimação do Fator Oferta ## Forma numérica: minimização do CV `$$F_{oferta} = 1-\arg\min_{c \in \mathbb{R}_+} \left ( \frac{\sigma[(1- c\cdot F) VU]}{\mu[(1- c\cdot F) VU)]}\right ), \text{com } \, F = \left\{\begin{matrix} 1,\,\text{se dado de oferta}\\ 0,\, \text{se dado de venda} \end{matrix}\right.$$` -- <img src="images/unnamed-chunk-8-1.svg" style="display: block; margin: auto;" /> --- # Estimação do Fator Oferta ## Forma numérica: minimização do CV ```r R 4.0.2> cv <- function(fator, vu, fonte){ vuhom <- ifelse(fonte == "Venda", vu, fator*vu) sd(vuhom)/mean(vuhom) } R 4.0.2> optimise(cv, c(0.5, 2), tol = 0.0001, vu = dados$VU, fonte = dados$Fonte) ``` -- ``` ## $minimum ## [1] 0.8471863 ## ## $objective ## [1] 0.4263088 ``` --- # Estimação do Fator Oferta ## Modelo de regressão na forma direta * **Criação de dados de oferta e venda desbalanceados , com valores de oferta maiores, em média**. `$$VU = (1 - 0,15.Fonte)(3000 - 0,25.Area + \varepsilon)$$` -- ```r R 4.0.2> set.seed(1) R 4.0.2> areavenda <- runif(35, min = 1000, max = 10000) R 4.0.2> areaoferta <- runif(65, min = 250, max = 8000) R 4.0.2> venda <- c(rep(0, 65), rep(1, 35)) R 4.0.2> vuvenda <- .85*(3000 - .25*areavenda + rnorm(35, 0, 150)) R 4.0.2> vuoferta <- 3000 - .25*areaoferta + rnorm(65, 0, 150) R 4.0.2> vu <- c(vuoferta, vuvenda) R 4.0.2> dados <- data.frame(VU = vu, Area = c(areaoferta, areavenda), Fonte = factor(venda, labels = c("Oferta", "Venda"))) ``` -- * 35% de dados de transações, 65% de dados de oferta -- * dados de oferta com VU mais altos (menores áreas) do que os dados de venda, em média. --- # Estimação do Fator Oferta ### Test t para diferença entre duas médias -- .pull-left[ * Antes da homogeneização: ```r R 4.0.2> t.test(VU ~ Fonte, dados, alternative = "greater") ``` ``` ## ## Welch Two Sample t-test ## ## data: VU by Fonte ## t = 4.9112, df = 68.239, p-value = 2.971e-06 ## alternative hypothesis: true difference in means is greater than 0 ## 95 percent confidence interval: ## 359.3018 Inf ## sample estimates: ## mean in group Oferta mean in group Venda *## 1915.728 1371.719 ``` ] .pull-right[ * Após a homogeneização: ```r R 4.0.2> dados <- within(dados, VUhom <- ifelse(Fonte == "Oferta", .85*VU, VU)) R 4.0.2> t.test(VUhom ~ Fonte, dados, alternative = "greater") ``` ``` ## ## Welch Two Sample t-test ## ## data: VUhom by Fonte ## t = 2.4342, df = 59.493, p-value = 0.008972 ## alternative hypothesis: true difference in means is greater than 0 ## 95 percent confidence interval: ## 80.48095 Inf ## sample estimates: ## mean in group Oferta mean in group Venda *## 1628.369 1371.719 ``` ] --- # Estimação do Fator Oferta ## Forma numérica `$$F_{oferta} = 1-\arg\min_{c \in \mathbb{R}_+} \left ( \frac{\sigma[(1- c\cdot F) VU]}{\mu[(1- c\cdot F) VU)]}\right ), \text{com } \, F = \left\{\begin{matrix} 1,\,\text{se dado de oferta}\\ 0,\, \text{se dado de venda} \end{matrix}\right.$$` <img src="images/unnamed-chunk-12-1.svg" style="display: block; margin: auto;" /> --- # Estimação do Fator Oferta ## Análise Exploratória <div class="figure" style="text-align: center"> <img src="images/dados1-1.svg" alt="Dados randômicos de oferta (em vermelho) e transação (em verde)" /> <p class="caption">Dados randômicos de oferta (em vermelho) e transação (em verde)</p> </div> --- # Estimação do Fator Oferta ## Forma gráfica [App Fator Oferta](https://droubi.shinyapps.io/fatorOferta/) --- # Estimação do Fator Oferta ## Regressão Linear .pull-left[ ### Modelo mal especificado ```r R 4.0.2> fit <- lm(VU ~ Area + Fonte, data = dados) R 4.0.2> S(fit, brief = T) ``` ``` ## Coefficients: ## Estimate Std. Error t value Pr(>|t|) ## (Intercept) 2.892e+03 3.298e+01 87.699 < 2e-16 *** ## Area -2.274e-01 6.484e-03 -35.067 < 2e-16 *** ## FonteVenda -2.476e+02 3.105e+01 -7.975 3.04e-12 *** ## --- ## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 ## ## Residual standard deviation: 142.5 on 97 degrees of freedom ## Multiple R-squared: 0.9415 ## F-statistic: 780.6 on 2 and 97 DF, p-value: < 2.2e-16 ## AIC BIC ## 1280.63 1291.05 ``` ] .pull-right[ <img src="images/unnamed-chunk-14-1.svg" style="display: block; margin: auto;" /> ``` ## ## Shapiro-Wilk normality test ## ## data: residuals(fit) ## W = 0.97712, p-value = 0.0791 ``` ] --- # Estimação do Fator Oferta ## Modelo mal especificado <div class="figure" style="text-align: center"> <img src="images/dados1a-1.svg" alt="Dados randômicos de oferta (em vermelho) e transação (em verde)" /> <p class="caption">Dados randômicos de oferta (em vermelho) e transação (em verde)</p> </div> --- # Estimação do Fator Oferta ## Regressão Linear .pull-left[ ### Modelo bem especificado ```r R 4.0.2> fit1 <- lm(VU ~ Area*Fonte, data = dados) R 4.0.2> S(fit1, brief = T) ``` ``` ## Coefficients: ## Estimate Std. Error t value Pr(>|t|) ## (Intercept) 2.983e+03 3.921e+01 76.072 < 2e-16 *** ## Area -2.486e-01 8.277e-03 -30.032 < 2e-16 *** ## FonteVenda -4.778e+02 6.758e+01 -7.070 2.49e-10 *** ## Area:FonteVenda 4.606e-02 1.220e-02 3.775 0.000277 *** ## --- ## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 ## ## Residual standard deviation: 133.7 on 96 degrees of freedom ## Multiple R-squared: 0.9491 ## F-statistic: 596.2 on 3 and 96 DF, p-value: < 2.2e-16 ## AIC BIC ## 1268.79 1281.81 ``` ] .pull-right[ <img src="images/unnamed-chunk-16-1.svg" style="display: block; margin: auto;" /> ``` ## ## Shapiro-Wilk normality test ## ## data: residuals(fit1) ## W = 0.97981, p-value = 0.1284 ``` ] --- # Estimação do Fator Oferta ## Diferenças honestas de Tukey .pull-left[ ```r R 4.0.2> fm <- aov(VU ~ Area*Fonte, data = dados) R 4.0.2> TukeyHSD(fm, "Fonte") ``` ``` ## Tukey multiple comparisons of means ## 95% family-wise confidence level ## ## Fit: aov(formula = VU ~ Area * Fonte, data = dados) ## ## $Fonte ## diff lwr upr p adj *## Venda-Oferta -229.2696 -284.9006 -173.6386 0 ``` ] .pull-right[ ```r R 4.0.2> fm1 <- aov(VUhom ~ Area*Fonte, data = dados) R 4.0.2> TukeyHSD(fm1, "Fonte") ``` ``` ## Tukey multiple comparisons of means ## 95% family-wise confidence level ## ## Fit: aov(formula = VUhom ~ Area * Fonte, data = dados) ## ## $Fonte ## diff lwr upr p adj *## Venda-Oferta 12.49766 -37.58163 62.57695 0.6214727 ``` ] --- # Estimação do Fator Oferta ## Forma numérica: minimização das diferenças honestas de Tukey ```r R 4.0.2> optimise(THSD, c(0.5, 2), tol = 0.0001, data = dados, response = "VU", predictors = "Area", factor = "Fonte", level = "Venda") ``` -- ``` ## $minimum ## [1] 0.8577703 ## ## $objective ## [1] 0.02634048 ``` --- # Estimação do Fator Oferta ## Aplicação prévia do fator oferta .pull-left[ ```r R 4.0.2> dados <- within(dados, VUhom <- ifelse(Fonte == "Venda", VU, 0.85*VU)) ``` ```r R 4.0.2> fm <- aov(VUhom ~ Area*Fonte, dados) R 4.0.2> summary(fm) ``` ``` ## Df Sum Sq Mean Sq F value Pr(>F) ## Area 1 22242166 22242166 1536.008 <2e-16 *** ## Fonte 1 3838 3838 0.265 0.608 ## Area:Fonte 1 9245 9245 0.638 0.426 ## Residuals 96 1390128 14481 ## --- ## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 ``` ```r R 4.0.2> # CV dados crus R 4.0.2> sd(dados$VU)/mean(dados$VU) ``` ``` ## [1] 0.3380495 ``` ] .pull-right[ <div class="figure" style="text-align: center"> <img src="images/dadosHomogeneizados-1.svg" alt="Dados homogeneizados." /> <p class="caption">Dados homogeneizados.</p> </div> ```r R 4.0.2> # CV dados homogeneizados R 4.0.2> sd(dados$VUhom)/mean(dados$VUhom) ``` ``` ## [1] 0.3176481 ``` ] --- # Estimação do Fator Oferta ## Aplicação prévia do fator oferta ```r R 4.0.2> fithom <- lm(VUhom ~ Area, dados) R 4.0.2> S(fithom, brief = T) ``` ``` ## Coefficients: ## Estimate Std. Error t value Pr(>|t|) ## (Intercept) 2.519e+03 2.761e+01 91.25 <2e-16 *** ## Area -2.065e-01 5.239e-03 -39.41 <2e-16 *** ## --- ## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 ## ## Residual standard deviation: 119.7 on 98 degrees of freedom ## Multiple R-squared: 0.9407 ## F-statistic: 1553 on 1 and 98 DF, p-value: < 2.2e-16 ## AIC BIC ## 1244.70 1252.51 ``` --- # Estimação do Fator Oferta ## Resumo <table style="border-collapse:collapse; border:none;"> <tr> <th style="border-top: double; text-align:center; font-style:normal; font-weight:bold; padding:0.2cm; text-align:left; "> </th> <th colspan="3" style="border-top: double; text-align:center; font-style:normal; font-weight:bold; padding:0.2cm; ">VU</th> <th colspan="3" style="border-top: double; text-align:center; font-style:normal; font-weight:bold; padding:0.2cm; ">VU</th> <th colspan="3" style="border-top: double; text-align:center; font-style:normal; font-weight:bold; padding:0.2cm; ">VUhom</th> </tr> <tr> <td style=" text-align:center; border-bottom:1px solid; font-style:italic; font-weight:normal; text-align:left; ">Predictors</td> <td style=" text-align:center; border-bottom:1px solid; font-style:italic; font-weight:normal; ">Estimates</td> <td style=" text-align:center; border-bottom:1px solid; font-style:italic; font-weight:normal; ">CI</td> <td style=" text-align:center; border-bottom:1px solid; font-style:italic; font-weight:normal; ">p</td> <td style=" text-align:center; border-bottom:1px solid; font-style:italic; font-weight:normal; ">Estimates</td> <td style=" text-align:center; border-bottom:1px solid; font-style:italic; font-weight:normal; ">CI</td> <td style=" text-align:center; border-bottom:1px solid; font-style:italic; font-weight:normal; col7">p</td> <td style=" text-align:center; border-bottom:1px solid; font-style:italic; font-weight:normal; col8">Estimates</td> <td style=" text-align:center; border-bottom:1px solid; font-style:italic; font-weight:normal; col9">CI</td> <td style=" text-align:center; border-bottom:1px solid; font-style:italic; font-weight:normal; 0">p</td> </tr> <tr> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:left; ">(Intercept)</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; ">2891.90</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; ">2826.46 – 2957.35</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; "><strong><0.001</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; ">2982.87</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; ">2905.04 – 3060.71</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; col7"><strong><0.001</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; col8">2519.19</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; col9">2464.40 – 2573.98</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; 0"><strong><0.001</td> </tr> <tr> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:left; ">Area</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; ">-0.23</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; ">-0.24 – -0.21</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; "><strong><0.001</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; ">-0.25</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; ">-0.27 – -0.23</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; col7"><strong><0.001</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; col8">-0.21</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; col9">-0.22 – -0.20</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; 0"><strong><0.001</td> </tr> <tr> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:left; ">Fonte [Venda]</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; ">-247.62</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; ">-309.24 – -185.99</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; "><strong><0.001</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; ">-477.80</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; ">-611.94 – -343.65</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; col7"><strong><0.001</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; col8"></td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; col9"></td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; 0"></td> </tr> <tr> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:left; ">Area * Fonte [Venda]</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; "></td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; "></td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; "></td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; ">0.05</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; ">0.02 – 0.07</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; col7"><strong><0.001</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; col8"></td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; col9"></td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; 0"></td> </tr> <tr> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:left; padding-top:0.1cm; padding-bottom:0.1cm; border-top:1px solid;">Observations</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; padding-top:0.1cm; padding-bottom:0.1cm; text-align:left; border-top:1px solid;" colspan="3">100</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; padding-top:0.1cm; padding-bottom:0.1cm; text-align:left; border-top:1px solid;" colspan="3">100</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; padding-top:0.1cm; padding-bottom:0.1cm; text-align:left; border-top:1px solid;" colspan="3">100</td> </tr> <tr> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:left; padding-top:0.1cm; padding-bottom:0.1cm;">R<sup>2</sup> / R<sup>2</sup> adjusted</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; padding-top:0.1cm; padding-bottom:0.1cm; text-align:left;" colspan="3">0.942 / 0.940</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; padding-top:0.1cm; padding-bottom:0.1cm; text-align:left;" colspan="3">0.949 / 0.947</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; padding-top:0.1cm; padding-bottom:0.1cm; text-align:left;" colspan="3">0.941 / 0.940</td> </tr> </table> --- # Estimação do Fator Oferta ## Previsão de valores .pull-left[ ```r R 4.0.2> new250 <- data.frame(Area = 250, Fonte = "Venda") R 4.0.2> predict(fit, newdata = new250, interval = "confidence", level = .80) ``` ``` ## fit lwr upr *## 1 2587.441 2532.968 2641.913 ``` ```r R 4.0.2> predict(fit1, newdata = new250, interval = "confidence", level = .80) ``` ``` ## fit lwr upr *## 1 2454.448 2386.051 2522.846 ``` ```r R 4.0.2> predict(fithom, newdata = new250, interval = "confidence", level = .80) ``` ``` ## fit lwr upr *## 1 2467.566 2433.458 2501.673 ``` ] .pull-right[ ```r R 4.0.2> new10000 <- data.frame(Area = 10000, Fonte = "Venda") R 4.0.2> predict(fit, newdata = new10000, interval = "confidence", level = .80) ``` ``` ## fit lwr upr *## 1 370.4307 322.2269 418.6345 ``` ```r R 4.0.2> predict(fit1, newdata = new10000, interval = "confidence", level = .80) ``` ``` ## fit lwr upr *## 1 479.9654 421.2549 538.6758 ``` ```r R 4.0.2> predict(fithom, newdata = new10000, interval = "confidence", level = .80) ``` ``` ## fit lwr upr *## 1 454.3476 415.6422 493.053 ``` ] --- # Estimação do Fator Oferta ## Modelo de regressão na forma direta * **Criação de dados de oferta e venda desbalanceados , com valores de oferta _menores_, em média**. `$$VU = (1 - 0,15.Fonte)(3000 - 0,25.Area + \varepsilon)$$` -- ```r R 4.0.2> set.seed(1) R 4.0.2> areavenda <- runif(35, min = 250, max = 8000) R 4.0.2> areaoferta <- runif(65, min = 1000, max = 10000) R 4.0.2> venda <- c(rep(0, 65), rep(1, 35)) R 4.0.2> vuvenda <- .85*(3000 - .25*areavenda + rnorm(35, 0, 150)) R 4.0.2> vuoferta <- 3000 - .25*areaoferta + rnorm(65, 0, 150) R 4.0.2> vu <- c(vuoferta, vuvenda) R 4.0.2> dados <- data.frame(VU = vu, Area = c(areaoferta, areavenda), Fonte = factor(venda, labels = c("Oferta", "Venda"))) ``` -- * 35% de dados de transações, 65% de dados de oferta -- * dados de oferta com VU mais baixos (maiores áreas) do que os dados de venda, em média. --- # Estimação do Fator Oferta [App Fator Oferta](https://droubi.shinyapps.io/fatorOferta2/) -- CONCLUSÃO: * A aplicação do fator oferta pode ter efeito heterogeneizante. -- * A Recomendação B.6 da NBR 14.653-02 ([ABNT, 2011](#bib-NBR1465302)) pode não ser válida, ao menos para o fator oferta! - Para a utilização deste tratamento é recomendável que seja evitado o uso de fatores que, aplicados isoladamente em relação ao avaliando ou ao paradigma, heterogeneizem os valores originais. Essa recomendação só é válida com a confirmação do efeito de heterogeneização, após a aplicação conjunta dos fatores. -- * O item 10.6.5 da Norma do IBAPE/SP ([IBAPE/SP, 2011](#bib-ibapeSP)) pode não ser válido, ao menos par o fator oferta! - Os fatores complementares, citados nesta norma, podem ser investigados, e podem ser utilizados, desde que seja devidamente validada sua condição isolada de fator homogeneizante, que deve ser mantida na verificação simultânea com os demais. -- * O critério da homogeneização dos dados `\(CV_{hom} < CV{original}\)` precisa ser melhor estudado. --- # Estimação do Fator Oferta ```r R 4.0.2> optimise(cv, c(0.5, 2), tol = 0.0001, vu = dados$VU, fonte = dados$Fonte) ``` ``` ## $minimum ## [1] 0.9996529 ## ## $objective ## [1] 0.3460022 ``` -- ```r R 4.0.2> optimise(THSD, c(0.5, 2), tol = 0.0001, data = dados, response = "VU", predictors = "Area", factor = "Fonte", level = "Venda") ``` ``` ## $minimum ## [1] 0.8647856 ## ## $objective ## [1] 0.02766 ``` --- # Estimação do Fator Oferta ## Dados lognormais -- Uma das propriedades da função logarítmica é: `\(\log(x \cdot y) = \log(x) + \log(y)\)` -- Portanto, se `\(V_{venda} = 0,85\cdot V_{oferta}\)`, na escala `\(\log\)`: -- `$$\log(V_{venda}) = \log(0,85\cdot V_{oferta}) = \log (0,85) + \log(V_{oferta})$$` `$$\log(V_{oferta}) = \log(V_{venda}) - \log(0,85)$$` -- `$$\log(V_{oferta}) = \log(V_{venda}) - 0,1625$$` -- `$$\log(VU) = 7,5 - 0,25\cdot \log(Area) - 0,1625\cdot Fonte + \varepsilon$$` -- ```r R 4.0.2> set.seed(2) R 4.0.2> area <- runif(100, min = 250, max = 5000) R 4.0.2> venda <- rbinom(100, 1, .5) R 4.0.2> lvu <- 7.5 - .25*log(area) -.1625*venda + rnorm(100, mean = 0, sd = .05) R 4.0.2> dados <- data.frame(VU = exp(lvu), Area = area, Fonte = factor(venda, labels = c("Oferta", "Venda"))) ``` --- # Estimação do Fator Oferta ## Dados lognormais: análise exploratória <div class="figure" style="text-align: center"> <img src="images/lognormalExploratoria-1.svg" alt="Análise exploratória. Dados lognormais." /> <p class="caption">Análise exploratória. Dados lognormais.</p> </div> --- # Estimação do Fator Oferta [App Fator Oferta Log](https://droubi.shinyapps.io/fatorOfertaLog/) --- # Estimação do Fator Oferta .pull-left[ ## Modelo bem especificado ```r R 4.0.2> fit2 <- lm(log(VU) ~ log(Area) + Fonte, data = dados) R 4.0.2> S(fit2, brief = T) ``` ``` ## Coefficients: ## Estimate Std. Error t value Pr(>|t|) ## (Intercept) 7.507161 0.054010 139.00 <2e-16 *** ## log(Area) -0.251045 0.007012 -35.80 <2e-16 *** *## FonteVenda -0.157503 0.009974 -15.79 <2e-16 *** ## --- ## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 ## ## Residual standard deviation: 0.0497 on 97 degrees of freedom ## Multiple R-squared: 0.9412 ## F-statistic: 776.1 on 2 and 97 DF, p-value: < 2.2e-16 ## AIC BIC ## -311.59 -301.17 ``` ] .pull-right[ ## Cálculo do Fator Oferta a partir do coeficiente estimado ```r R 4.0.2> # Cálculo do Fator Oferta R 4.0.2> exp(-.157503) ``` ``` ## [1] 0.8542743 ``` ] --- # Estimação do Fator Oferta ## Modelo bem especificado <img src="images/unnamed-chunk-39-1.svg" style="display: block; margin: auto;" /> --- # Estimação do Fator Oferta ## Modelo bem especificado <div class="figure" style="text-align: center"> <img src="images/fit2Diagnostics-1.svg" alt="Modelo correto. Fator oferta. Dados lognormais." width="38%" /><img src="images/fit2Diagnostics-2.svg" alt="Modelo correto. Fator oferta. Dados lognormais." width="38%" /><img src="images/fit2Diagnostics-3.svg" alt="Modelo correto. Fator oferta. Dados lognormais." width="38%" /><img src="images/fit2Diagnostics-4.svg" alt="Modelo correto. Fator oferta. Dados lognormais." width="38%" /> <p class="caption">Modelo correto. Fator oferta. Dados lognormais.</p> </div> --- # Estimação do Fator Oferta ## Aplicação prévia do Fator Oferta ```r R 4.0.2> optimise(THSD, c(0.5, 2), tol = 0.0001, data = dados, response = "VU", predictors = "log(Area)", factor = "Fonte", level = "Venda", transf = "log") ``` -- ``` ## $minimum ## [1] 0.8542646 ## ## $objective ## [1] 1.119604e-05 ``` --- # Estimação do Fator Oferta ## Aplicação prévia do Fator Oferta .pull-left[ ```r R 4.0.2> dados <- within(dados, VUhom <- ifelse(Fonte == "Venda", VU, 0.85*VU)) R 4.0.2> fithom2 <- lm(log(VUhom) ~ log(Area), dados) R 4.0.2> S(fithom2, brief = T) ``` ``` ## Coefficients: ## Estimate Std. Error t value Pr(>|t|) ## (Intercept) 7.346462 0.053683 136.85 <2e-16 *** ## log(Area) -0.250981 0.006984 -35.94 <2e-16 *** ## --- ## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 ## ## Residual standard deviation: 0.04951 on 98 degrees of freedom ## Multiple R-squared: 0.9295 ## F-statistic: 1292 on 1 and 98 DF, p-value: < 2.2e-16 ## AIC BIC ## -313.33 -305.52 ``` ] .pull-right[ ```r R 4.0.2> sd(dados$VU)/mean(dados$VU) ``` ``` ## [1] 0.2204912 ``` ```r R 4.0.2> sd(dados$VUhom)/mean(dados$VUhom) ``` ``` ## [1] 0.2007681 ``` ] --- # Estimação do Fator Oferta ## Aplicação prévia do fator oferta <img src="images/unnamed-chunk-43-1.svg" style="display: block; margin: auto;" /> --- # Estimação do Fator Oferta ## Aplicação prévia do Fator Oferta <img src="images/unnamed-chunk-44-1.svg" style="display: block; margin: auto;" /> --- # Estimação do Fator Oferta ## Diagnóstico modelo com dados homogeneizados <div class="figure" style="text-align: center"> <img src="images/fit2homDiagnostics-1.svg" alt="Modelo com dados homogeneizados. Dados lognormais." width="38%" /><img src="images/fit2homDiagnostics-2.svg" alt="Modelo com dados homogeneizados. Dados lognormais." width="38%" /><img src="images/fit2homDiagnostics-3.svg" alt="Modelo com dados homogeneizados. Dados lognormais." width="38%" /><img src="images/fit2homDiagnostics-4.svg" alt="Modelo com dados homogeneizados. Dados lognormais." width="38%" /> <p class="caption">Modelo com dados homogeneizados. Dados lognormais.</p> </div> --- # Estimação do Fator Oferta ## Resumo dos modelos <table style="border-collapse:collapse; border:none;"> <tr> <th style="border-top: double; text-align:center; font-style:normal; font-weight:bold; padding:0.2cm; text-align:left; "> </th> <th colspan="3" style="border-top: double; text-align:center; font-style:normal; font-weight:bold; padding:0.2cm; ">log(VU)</th> <th colspan="3" style="border-top: double; text-align:center; font-style:normal; font-weight:bold; padding:0.2cm; ">log(VUhom)</th> </tr> <tr> <td style=" text-align:center; border-bottom:1px solid; font-style:italic; font-weight:normal; text-align:left; ">Predictors</td> <td style=" text-align:center; border-bottom:1px solid; font-style:italic; font-weight:normal; ">Estimates</td> <td style=" text-align:center; border-bottom:1px solid; font-style:italic; font-weight:normal; ">CI</td> <td style=" text-align:center; border-bottom:1px solid; font-style:italic; font-weight:normal; ">p</td> <td style=" text-align:center; border-bottom:1px solid; font-style:italic; font-weight:normal; ">Estimates</td> <td style=" text-align:center; border-bottom:1px solid; font-style:italic; font-weight:normal; ">CI</td> <td style=" text-align:center; border-bottom:1px solid; font-style:italic; font-weight:normal; col7">p</td> </tr> <tr> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:left; ">(Intercept)</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; ">7.51</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; ">7.40 – 7.61</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; "><strong><0.001</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; ">7.35</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; ">7.24 – 7.45</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; col7"><strong><0.001</td> </tr> <tr> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:left; ">Area [log]</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; ">-0.25</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; ">-0.26 – -0.24</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; "><strong><0.001</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; ">-0.25</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; ">-0.26 – -0.24</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; col7"><strong><0.001</td> </tr> <tr> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:left; ">Fonte [Venda]</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; ">-0.16</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; ">-0.18 – -0.14</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; "><strong><0.001</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; "></td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; "></td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; col7"></td> </tr> <tr> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:left; padding-top:0.1cm; padding-bottom:0.1cm; border-top:1px solid;">Observations</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; padding-top:0.1cm; padding-bottom:0.1cm; text-align:left; border-top:1px solid;" colspan="3">100</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; padding-top:0.1cm; padding-bottom:0.1cm; text-align:left; border-top:1px solid;" colspan="3">100</td> </tr> <tr> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:left; padding-top:0.1cm; padding-bottom:0.1cm;">R<sup>2</sup> / R<sup>2</sup> adjusted</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; padding-top:0.1cm; padding-bottom:0.1cm; text-align:left;" colspan="3">0.941 / 0.940</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; padding-top:0.1cm; padding-bottom:0.1cm; text-align:left;" colspan="3">0.929 / 0.929</td> </tr> </table> --- # Estimação do Fator Oferta ## Previsão de valores .pull-left[ ```r R 4.0.2> new250 <- data.frame(Area = 250, Fonte = "Venda") R 4.0.2> exp(predict(fit2, newdata = new250, interval = "confidence", level = .80)) ``` ``` ## fit lwr upr *## 1 388.9779 380.6658 397.4714 ``` ```r R 4.0.2> exp(predict(fithom2, newdata = new250, interval = "confidence", level = .80)) ``` ``` ## fit lwr upr *## 1 387.8732 380.0972 395.8082 ``` ] .pull-right[ ```r R 4.0.2> new5000 <- data.frame(Area = 5000, Fonte = "Venda") R 4.0.2> exp(predict(fit2, newdata = new5000, interval = "confidence", level = .80)) ``` ``` ## fit lwr upr *## 1 183.3614 181.1409 185.609 ``` ```r R 4.0.2> exp(predict(fithom2, newdata = new5000, interval = "confidence", level = .80)) ``` ``` ## fit lwr upr *## 1 182.8754 181.0442 184.7252 ``` ] --- # Estimação do Fator Oferta ## Outras transformações `$$VU = (1-0,15\cdot Fonte)(70 - 0,01\cdot Area + \varepsilon)^2$$` ```r R 4.0.2> set.seed(2) R 4.0.2> area <- runif(100, min = 250, max = 5000) R 4.0.2> venda <- rbinom(100, 1, .5) R 4.0.2> sqrtvu <- 70 - .01*area + rnorm(100, mean = 0, sd = 2) R 4.0.2> vu <- (1-.15*venda)*sqrtvu^2 R 4.0.2> dados <- data.frame(VU = vu, Area = area, Fonte = factor(venda, labels = c("Oferta", "Venda"))) ``` --- # Estimação do Fator Oferta ## Outras transformações: análise exploratória <img src="images/unnamed-chunk-51-1.svg" style="display: block; margin: auto;" /> --- # Modelo mal especificado ```r R 4.0.2> fit3 <- lm(sqrt(VU) ~ Area + Fonte, data = dados) R 4.0.2> S(fit3, brief = T) ``` ``` ## Coefficients: ## Estimate Std. Error t value Pr(>|t|) ## (Intercept) 69.086281 0.461259 149.777 < 2e-16 *** ## Area -0.009660 0.000143 -67.544 < 2e-16 *** ## FonteVenda -3.260870 0.404871 -8.054 2.06e-12 *** ## --- ## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 ## ## Residual standard deviation: 2.018 on 97 degrees of freedom ## Multiple R-squared: 0.9794 ## F-statistic: 2311 on 2 and 97 DF, p-value: < 2.2e-16 ## AIC BIC ## 429.15 439.57 ``` --- # Modelo mal especificado <div class="figure" style="text-align: center"> <img src="images/fit3Diagnostics-1.svg" alt="Modelo mal especificado. Fator oferta." width="38%" /><img src="images/fit3Diagnostics-2.svg" alt="Modelo mal especificado. Fator oferta." width="38%" /><img src="images/fit3Diagnostics-3.svg" alt="Modelo mal especificado. Fator oferta." width="38%" /><img src="images/fit3Diagnostics-4.svg" alt="Modelo mal especificado. Fator oferta." width="38%" /> <p class="caption">Modelo mal especificado. Fator oferta.</p> </div> --- # Modelo correto ```r R 4.0.2> fit4 <- lm(sqrt(VU) ~ Area*Fonte, data = dados) R 4.0.2> S(fit4, brief = T) ``` ``` ## Coefficients: ## Estimate Std. Error t value Pr(>|t|) ## (Intercept) 70.1570222 0.5412342 129.624 < 2e-16 *** ## Area -0.0100733 0.0001830 -55.054 < 2e-16 *** ## FonteVenda -5.6434584 0.8042935 -7.017 3.21e-10 *** ## Area:FonteVenda 0.0009221 0.0002733 3.373 0.00107 ** ## --- ## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 ## ## Residual standard deviation: 1.918 on 96 degrees of freedom ## Multiple R-squared: 0.9816 ## F-statistic: 1709 on 3 and 96 DF, p-value: < 2.2e-16 ## AIC BIC ## 419.94 432.97 ``` --- # Modelo correto <div class="figure" style="text-align: center"> <img src="images/rightModel3-1.svg" alt="Fator oferta com transformação raiz quadrada. Modelo especificado corretamente." width="50%" /><img src="images/rightModel3-2.svg" alt="Fator oferta com transformação raiz quadrada. Modelo especificado corretamente." width="50%" /> <p class="caption">Fator oferta com transformação raiz quadrada. Modelo especificado corretamente.</p> </div> --- # Modelo correto <div class="figure" style="text-align: center"> <img src="images/fit4Diagnostics-1.svg" alt="Modelo mal especificado. Fator oferta." width="38%" /><img src="images/fit4Diagnostics-2.svg" alt="Modelo mal especificado. Fator oferta." width="38%" /><img src="images/fit4Diagnostics-3.svg" alt="Modelo mal especificado. Fator oferta." width="38%" /><img src="images/fit4Diagnostics-4.svg" alt="Modelo mal especificado. Fator oferta." width="38%" /> <p class="caption">Modelo mal especificado. Fator oferta.</p> </div> --- # Opção: aplicação prévia do fator oferta ```r R 4.0.2> optimise(THSD, c(0.5, 2), tol = 0.0001, data = dados, response = "VU", predictors = "Area", factor = "Fonte", level = "Venda", transf = "sqrt") ``` -- ``` ## $minimum ## [1] 0.857683 ## ## $objective ## [1] 0.0002634676 ``` --- # Opção: aplicação prévia do fator oferta .pull-left[ ```r R 4.0.2> dados <- within(dados, VUhom <- ifelse(Fonte == "Venda", VU, .85*VU)) R 4.0.2> fithom3 <- lm(sqrt(VUhom) ~ Area, dados) R 4.0.2> S(fithom3, brief = T) ``` ``` ## Coefficients: ## Estimate Std. Error t value Pr(>|t|) ## (Intercept) 64.6088206 0.3811754 169.50 <2e-16 *** ## Area -0.0092266 0.0001294 -71.29 <2e-16 *** ## --- ## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 ## ## Residual standard deviation: 1.826 on 98 degrees of freedom ## Multiple R-squared: 0.9811 ## F-statistic: 5082 on 1 and 98 DF, p-value: < 2.2e-16 ## AIC BIC ## 408.20 416.02 ``` ] .pull-right[ * Coeficiente de variação dos dados crus: ```r R 4.0.2> sd(dados$VU)/mean(dados$VU) ``` ``` ## [1] 0.5861128 ``` * Coeficiente de variação dos dados homogeneizados: ```r R 4.0.2> sd(dados$VUhom)/mean(dados$VUhom) ``` ``` ## [1] 0.5777287 ``` ] --- # Opção: aplicação prévia do fator oferta <img src="images/unnamed-chunk-57-1.svg" style="display: block; margin: auto;" /> --- # Opção: aplicação prévia do fator oferta <div class="figure" style="text-align: center"> <img src="images/dadosHomogeneizados3-1.svg" alt="Dados homogeneizados." /> <p class="caption">Dados homogeneizados.</p> </div> --- # Resumo <table style="border-collapse:collapse; border:none;"> <tr> <th style="border-top: double; text-align:center; font-style:normal; font-weight:bold; padding:0.2cm; text-align:left; "> </th> <th colspan="3" style="border-top: double; text-align:center; font-style:normal; font-weight:bold; padding:0.2cm; ">sqrt(VU)</th> <th colspan="3" style="border-top: double; text-align:center; font-style:normal; font-weight:bold; padding:0.2cm; ">sqrt(VU)</th> <th colspan="3" style="border-top: double; text-align:center; font-style:normal; font-weight:bold; padding:0.2cm; ">sqrt(VUhom)</th> </tr> <tr> <td style=" text-align:center; border-bottom:1px solid; font-style:italic; font-weight:normal; text-align:left; ">Predictors</td> <td style=" text-align:center; border-bottom:1px solid; font-style:italic; font-weight:normal; ">Estimates</td> <td style=" text-align:center; border-bottom:1px solid; font-style:italic; font-weight:normal; ">CI</td> <td style=" text-align:center; border-bottom:1px solid; font-style:italic; font-weight:normal; ">p</td> <td style=" text-align:center; border-bottom:1px solid; font-style:italic; font-weight:normal; ">Estimates</td> <td style=" text-align:center; border-bottom:1px solid; font-style:italic; font-weight:normal; ">CI</td> <td style=" text-align:center; border-bottom:1px solid; font-style:italic; font-weight:normal; col7">p</td> <td style=" text-align:center; border-bottom:1px solid; font-style:italic; font-weight:normal; col8">Estimates</td> <td style=" text-align:center; border-bottom:1px solid; font-style:italic; font-weight:normal; col9">CI</td> <td style=" text-align:center; border-bottom:1px solid; font-style:italic; font-weight:normal; 0">p</td> </tr> <tr> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:left; ">(Intercept)</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; ">69.086</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; ">68.171 – 70.002</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; "><strong><0.001</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; ">70.157</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; ">69.083 – 71.231</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; col7"><strong><0.001</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; col8">64.609</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; col9">63.852 – 65.365</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; 0"><strong><0.001</td> </tr> <tr> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:left; ">Area</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; ">-0.010</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; ">-0.010 – -0.009</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; "><strong><0.001</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; ">-0.010</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; ">-0.010 – -0.010</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; col7"><strong><0.001</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; col8">-0.009</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; col9">-0.009 – -0.009</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; 0"><strong><0.001</td> </tr> <tr> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:left; ">Fonte [Venda]</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; ">-3.261</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; ">-4.064 – -2.457</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; "><strong><0.001</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; ">-5.643</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; ">-7.240 – -4.047</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; col7"><strong><0.001</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; col8"></td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; col9"></td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; 0"></td> </tr> <tr> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:left; ">Area * Fonte [Venda]</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; "></td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; "></td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; "></td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; ">0.001</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; ">0.000 – 0.001</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; col7"><strong>0.001</strong></td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; col8"></td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; col9"></td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; 0"></td> </tr> <tr> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:left; padding-top:0.1cm; padding-bottom:0.1cm; border-top:1px solid;">Observations</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; padding-top:0.1cm; padding-bottom:0.1cm; text-align:left; border-top:1px solid;" colspan="3">100</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; padding-top:0.1cm; padding-bottom:0.1cm; text-align:left; border-top:1px solid;" colspan="3">100</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; padding-top:0.1cm; padding-bottom:0.1cm; text-align:left; border-top:1px solid;" colspan="3">100</td> </tr> <tr> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:left; padding-top:0.1cm; padding-bottom:0.1cm;">R<sup>2</sup> / R<sup>2</sup> adjusted</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; padding-top:0.1cm; padding-bottom:0.1cm; text-align:left;" colspan="3">0.979 / 0.979</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; padding-top:0.1cm; padding-bottom:0.1cm; text-align:left;" colspan="3">0.982 / 0.981</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; padding-top:0.1cm; padding-bottom:0.1cm; text-align:left;" colspan="3">0.981 / 0.981</td> </tr> </table> --- # Previsão de valores .pull-left[ ```r R 4.0.2> new250 <- data.frame(Area = 250, Fonte = "Venda") R 4.0.2> predict(fit3, newdata = new250, interval = "confidence", level = .80)^2 ``` ``` ## fit lwr upr *## 1 4020.876 3948.145 4094.271 ``` ```r R 4.0.2> predict(fit4, newdata = new250, interval = "confidence", level = .80)^2 ``` ``` ## fit lwr upr *## 1 3872.045 3784.093 3961.007 ``` ```r R 4.0.2> predict(fithom3, newdata = new250, interval = "confidence", level = .80)^2 ``` ``` ## fit lwr upr *## 1 3881.562 3824.999 3938.54 ``` ] .pull-right[ ```r R 4.0.2> new5000 <- data.frame(Area = 5000, Fonte = "Venda") R 4.0.2> predict(fit3, newdata = new5000, interval = "confidence", level = .80)^2 ``` ``` ## fit lwr upr *## 1 307.1146 286.8096 328.114 ``` ```r R 4.0.2> predict(fit4, newdata = new5000, interval = "confidence", level = .80)^2 ``` ``` ## fit lwr upr *## 1 351.8401 324.9102 379.8422 ``` ```r R 4.0.2> predict(fithom3, newdata = new5000, interval = "confidence", level = .80)^2 ``` ``` ## fit lwr upr *## 1 341.363 324.3225 358.8399 ``` ] --- # Fator Oferta na regressão múltipla ```r R 4.0.2> library(MASS) R 4.0.2> ## X1 X2 Y R 4.0.2> sigma <- matrix(c(16 , 15, 10.2, 15 , 25, 8, 10.2, 8, 9), ncol = 3, byrow = T) R 4.0.2> set.seed(2) R 4.0.2> dados <- mvrnorm(n=200, mu=c(100, 50, 30), Sigma=sigma) R 4.0.2> colnames(dados) <- c("X1", "X2", "y") R 4.0.2> dados <- as.data.frame(dados) R 4.0.2> # cor(dados) R 4.0.2> # cov(dados) R 4.0.2> dados$Fonte <- rbinom(200, 1, .5) R 4.0.2> dados$y <- (1 - .15*dados$Fonte)*dados$y R 4.0.2> dados$Fonte <- factor(dados$Fonte, labels = c("Oferta", "Venda")) ``` --- # Análise Exploratória <img src="images/unnamed-chunk-68-1.svg" style="display: block; margin: auto;" /> --- # Modelo mal especificado ```r R 4.0.2> fitMult <- lm(y ~ X1 + X2 + Fonte, dados) R 4.0.2> S(fitMult, brief = T) ``` ``` ## Coefficients: ## Estimate Std. Error t value Pr(>|t|) ## (Intercept) -32.49863 2.83932 -11.446 < 2e-16 *** ## X1 0.68564 0.03850 17.811 < 2e-16 *** ## X2 -0.12137 0.03109 -3.904 0.00013 *** ## FonteVenda -4.37711 0.20723 -21.122 < 2e-16 *** ## --- ## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 ## ## Residual standard deviation: 1.457 on 196 degrees of freedom ## Multiple R-squared: 0.847 ## F-statistic: 361.7 on 3 and 196 DF, p-value: < 2.2e-16 ## AIC BIC ## 724.13 740.62 ``` --- # Modelo mal especificado <div class="figure" style="text-align: center"> <img src="images/fitMultDiagnostics-1.svg" alt="Modelo mal especificado. Fator oferta." width="38%" /><img src="images/fitMultDiagnostics-2.svg" alt="Modelo mal especificado. Fator oferta." width="38%" /><img src="images/fitMultDiagnostics-3.svg" alt="Modelo mal especificado. Fator oferta." width="38%" /><img src="images/fitMultDiagnostics-4.svg" alt="Modelo mal especificado. Fator oferta." width="38%" /> <p class="caption">Modelo mal especificado. Fator oferta.</p> </div> --- # Resíduos Parciais `$$p_i = r_i + \hat \beta_jX_i^{(j)}$$` <img src="images/unnamed-chunk-71-1.svg" style="display: block; margin: auto;" /> --- # Modelo Correto ```r R 4.0.2> fitMult2 <- lm(y ~ (X1 + X2)*Fonte, data = dados) R 4.0.2> S(fitMult2, brief = T) ``` ``` ## Coefficients: ## Estimate Std. Error t value Pr(>|t|) ## (Intercept) -44.13986 3.93393 -11.220 < 2e-16 *** ## X1 0.80796 0.05250 15.390 < 2e-16 *** ## X2 -0.13452 0.04274 -3.147 0.00191 ** ## FonteVenda 17.47534 5.43985 3.212 0.00154 ** ## X1:FonteVenda -0.23624 0.07388 -3.197 0.00162 ** ## X2:FonteVenda 0.03720 0.05972 0.623 0.53410 ## --- ## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 ## ## Residual standard deviation: 1.398 on 194 degrees of freedom ## Multiple R-squared: 0.8607 ## F-statistic: 239.7 on 5 and 194 DF, p-value: < 2.2e-16 ## AIC BIC ## 709.42 732.51 ``` --- # Modelo Correto <div class="figure" style="text-align: center"> <img src="images/unnamed-chunk-73-1.svg" alt="Regressão Múltiplo. Modelo Correto. Fator Oferta." width="50%" /><img src="images/unnamed-chunk-73-2.svg" alt="Regressão Múltiplo. Modelo Correto. Fator Oferta." width="50%" /> <p class="caption">Regressão Múltiplo. Modelo Correto. Fator Oferta.</p> </div> --- # Modelo Correto <div class="figure" style="text-align: center"> <img src="images/fitMul2tDiagnostics-1.svg" alt="Modelo mal especificado. Fator oferta." width="38%" /><img src="images/fitMul2tDiagnostics-2.svg" alt="Modelo mal especificado. Fator oferta." width="38%" /><img src="images/fitMul2tDiagnostics-3.svg" alt="Modelo mal especificado. Fator oferta." width="38%" /><img src="images/fitMul2tDiagnostics-4.svg" alt="Modelo mal especificado. Fator oferta." width="38%" /> <p class="caption">Modelo mal especificado. Fator oferta.</p> </div> --- # Opção: aplicação prévia do fator oferta ```r R 4.0.2> optimise(THSD, c(0.5, 2), tol = 0.0001, data = dados, response = "y", predictors = c("X1", "X2"), factor = "Fonte", level = "Venda") ``` -- ``` ## $minimum ## [1] 0.8531464 ## ## $objective ## [1] 0.0001556124 ``` --- # Opção: aplicação prévia do fator oferta .pull-left[ ```r R 4.0.2> dados <- within(dados, yhom <- ifelse(Fonte == "Venda", y, .85*y)) R 4.0.2> fithom4 <- lm(yhom ~ X1 + X2, dados) R 4.0.2> S(fithom4, brief = T) ``` ``` ## Coefficients: ## Estimate Std. Error t value Pr(>|t|) ## (Intercept) -31.56188 2.46428 -12.808 < 2e-16 *** ## X1 0.62436 0.03349 18.642 < 2e-16 *** ## X2 -0.10647 0.02707 -3.933 0.000116 *** ## --- ## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 ## ## Residual standard deviation: 1.274 on 197 degrees of freedom ## Multiple R-squared: 0.7626 ## F-statistic: 316.4 on 2 and 197 DF, p-value: < 2.2e-16 ## AIC BIC ## 669.28 682.47 ``` ] .pull-right[ * Coeficiente de variação dos dados crus: ```r R 4.0.2> sd(dados$y)/mean(dados$y) ``` ``` ## [1] 0.1312783 ``` * Coeficiente de variação dos dados homogeneizados: ```r R 4.0.2> sd(dados$yhom)/mean(dados$yhom) ``` ``` ## [1] 0.1008243 ``` ] --- # Gráficos Modelo Homogeneizado <img src="images/unnamed-chunk-79-1.svg" style="display: block; margin: auto;" /> --- # Previsão de valores .pull-left[ ```r R 4.0.2> new90_40 <- data.frame(X1 = 90, X2 = 40, Fonte = "Venda") R 4.0.2> predict(fitMult, newdata = new90_40, interval = "confidence", level = .80) ``` ``` ## fit lwr upr *## 1 19.97759 19.61092 20.34425 ``` ```r R 4.0.2> predict(fitMult2, newdata = new90_40, interval = "confidence", level = .80) ``` ``` ## fit lwr upr *## 1 20.89722 20.45255 21.34189 ``` ```r R 4.0.2> predict(fithom4, newdata = new90_40, interval = "confidence", level = .80) ``` ``` ## fit lwr upr *## 1 20.37176 20.06987 20.67365 ``` ] .pull-right[ ```r R 4.0.2> new110_60 <- data.frame(X1 = 110, X2 = 60, Fonte = "Venda") R 4.0.2> predict(fitMult, newdata = new110_60, interval = "confidence", level = .80) ``` ``` ## fit lwr upr *## 1 31.26314 30.90122 31.62506 ``` ```r R 4.0.2> predict(fitMult2, newdata = new110_60, interval = "confidence", level = .80) ``` ``` ## fit lwr upr *## 1 30.38508 29.94864 30.82153 ``` ```r R 4.0.2> predict(fithom4, newdata = new110_60, interval = "confidence", level = .80) ``` ``` ## fit lwr upr *## 1 30.72958 30.44099 31.01817 ``` ] --- # Fator oferta minimiza o CV na RLM? [App Fator Oferta Mult](https://droubi.shinyapps.io/fatorOfertaMult/) -- <img src="images/unnamed-chunk-86-1.svg" style="display: block; margin: auto;" /> --- # Efeito da omissão de variáveis relevantes na estimação do fator oferta ```r R 4.0.2> set.seed(1) R 4.0.2> area <- runif(200, min = 250, max = 5000) R 4.0.2> distancia <- runif(200, min = 10, max = 500) R 4.0.2> venda <- rbinom(200, 1, .5) R 4.0.2> lvu <- 7.5 - .25*log(area) -.25*log(distancia) - .1625*venda + rnorm(200, mean = 0, sd = .05) R 4.0.2> dados <- data.frame(VU = exp(lvu), Area = area, Distancia = distancia, Fonte = factor(venda, labels = c("Oferta", "Venda"))) ``` -- ```r R 4.0.2> fitComplete <- lm(log(VU) ~ log(Area) + log(Distancia) + Fonte, dados) R 4.0.2> fitOVB <- lm(log(VU) ~ log(Area) + Fonte, dados) ``` --- # Efeito da omissão de variáveis relevantes na estimação do fator oferta <table style="border-collapse:collapse; border:none;"> <tr> <th style="border-top: double; text-align:center; font-style:normal; font-weight:bold; padding:0.2cm; text-align:left; "> </th> <th colspan="3" style="border-top: double; text-align:center; font-style:normal; font-weight:bold; padding:0.2cm; ">log(VU)</th> <th colspan="3" style="border-top: double; text-align:center; font-style:normal; font-weight:bold; padding:0.2cm; ">log(VU)</th> </tr> <tr> <td style=" text-align:center; border-bottom:1px solid; font-style:italic; font-weight:normal; text-align:left; ">Predictors</td> <td style=" text-align:center; border-bottom:1px solid; font-style:italic; font-weight:normal; ">Estimates</td> <td style=" text-align:center; border-bottom:1px solid; font-style:italic; font-weight:normal; ">CI</td> <td style=" text-align:center; border-bottom:1px solid; font-style:italic; font-weight:normal; ">p</td> <td style=" text-align:center; border-bottom:1px solid; font-style:italic; font-weight:normal; ">Estimates</td> <td style=" text-align:center; border-bottom:1px solid; font-style:italic; font-weight:normal; ">CI</td> <td style=" text-align:center; border-bottom:1px solid; font-style:italic; font-weight:normal; col7">p</td> </tr> <tr> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:left; ">(Intercept)</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; ">7.52</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; ">7.42 – 7.63</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; "><strong><0.001</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; ">6.37</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; ">6.03 – 6.70</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; col7"><strong><0.001</td> </tr> <tr> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:left; ">Area [log]</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; ">-0.25</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; ">-0.26 – -0.24</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; "><strong><0.001</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; ">-0.28</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; ">-0.32 – -0.23</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; col7"><strong><0.001</td> </tr> <tr> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:left; ">Distancia [log]</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; ">-0.26</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; ">-0.27 – -0.24</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; "><strong><0.001</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; "></td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; "></td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; col7"></td> </tr> <tr> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:left; ">Fonte [Venda]</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; ">-0.16</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; ">-0.17 – -0.14</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; "><strong><0.001</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; ">-0.13</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; ">-0.18 – -0.07</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; col7"><strong><0.001</td> </tr> <tr> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:left; padding-top:0.1cm; padding-bottom:0.1cm; border-top:1px solid;">Observations</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; padding-top:0.1cm; padding-bottom:0.1cm; text-align:left; border-top:1px solid;" colspan="3">200</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; padding-top:0.1cm; padding-bottom:0.1cm; text-align:left; border-top:1px solid;" colspan="3">200</td> </tr> <tr> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:left; padding-top:0.1cm; padding-bottom:0.1cm;">R<sup>2</sup> / R<sup>2</sup> adjusted</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; padding-top:0.1cm; padding-bottom:0.1cm; text-align:left;" colspan="3">0.959 / 0.958</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; padding-top:0.1cm; padding-bottom:0.1cm; text-align:left;" colspan="3">0.490 / 0.485</td> </tr> </table> -- * A estimativa central não muda muito, mesmo com o viés devido à omissão da variável; -- * A eficiência da estimação, no entanto, é bem inferior à obtida com o modelo completo. --- # Obtenção à partir da minimização das THSD ```r R 4.0.2> optimise(THSD, c(0.5, 2), tol = 0.0001, data = dados, response = "VU", predictors = "log(Area)", factor = "Fonte", level = "Venda", transf = "log") ``` -- ``` ## $minimum ## [1] 0.8818589 ## ## $objective ## [1] 2.414254e-05 ``` -- ```r R 4.0.2> optimise(THSD, c(0.5, 2), tol = 0.0001, data = dados, response = "VU", predictors = c("log(Area)", "log(Distancia)"), factor = "Fonte", level = "Venda", transf = "log") ``` -- ``` ## $minimum ## [1] 0.854978 ## ## $objective ## [1] 1.208746e-05 ``` --- class: inverse, center, middle # Estudo de caso --- # Estudo de Caso ## Dados de Atibaia/SP <a name=cite-mantovani2019></a>([Mantovani, Cymrot, and Cappelano, ](#bib-mantovani2019)) <img src="images/unnamed-chunk-90-1.svg" style="display: block; margin: auto;" /> --- # Estudo de Caso ## Análise Exploratória <img src="images/unnamed-chunk-91-1.svg" style="display: block; margin: auto;" /> --- # Ajuste de modelos ```r R 4.0.2> fitOferta <- lm(log(VUoferta)~ log(IndiceFiscal) + log(AreaConstruida) + PC, data = atibaia, subset = -60) R 4.0.2> R 4.0.2> fitVenda <- lm(log(VUvenda)~ log(IndiceFiscal) + log(AreaConstruida) + PC, data = atibaia, subset = -60) ``` --- # Resíduos Parciais ## Model de Oferta <img src="images/unnamed-chunk-94-1.svg" style="display: block; margin: auto;" /> --- # Resíduos Parciais ## Model de Venda <img src="images/unnamed-chunk-96-1.svg" style="display: block; margin: auto;" /> --- <img src="images/unnamed-chunk-97-1.svg" style="display: block; margin: auto;" /> --- <img src="images/unnamed-chunk-98-1.svg" style="display: block; margin: auto;" /> --- # Estimação do Fator Oferta ## Resumo <table style="border-collapse:collapse; border:none;"> <tr> <th style="border-top: double; text-align:center; font-style:normal; font-weight:bold; padding:0.2cm; text-align:left; "> </th> <th colspan="3" style="border-top: double; text-align:center; font-style:normal; font-weight:bold; padding:0.2cm; ">log(VUoferta)</th> <th colspan="3" style="border-top: double; text-align:center; font-style:normal; font-weight:bold; padding:0.2cm; ">log(VUvenda)</th> </tr> <tr> <td style=" text-align:center; border-bottom:1px solid; font-style:italic; font-weight:normal; text-align:left; ">Predictors</td> <td style=" text-align:center; border-bottom:1px solid; font-style:italic; font-weight:normal; ">Estimates</td> <td style=" text-align:center; border-bottom:1px solid; font-style:italic; font-weight:normal; ">CI</td> <td style=" text-align:center; border-bottom:1px solid; font-style:italic; font-weight:normal; ">p</td> <td style=" text-align:center; border-bottom:1px solid; font-style:italic; font-weight:normal; ">Estimates</td> <td style=" text-align:center; border-bottom:1px solid; font-style:italic; font-weight:normal; ">CI</td> <td style=" text-align:center; border-bottom:1px solid; font-style:italic; font-weight:normal; col7">p</td> </tr> <tr> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:left; ">(Intercept)</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; ">9.83</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; ">9.08 – 10.59</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; "><strong><0.001</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; ">10.16</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; ">9.43 – 10.90</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; col7"><strong><0.001</td> </tr> <tr> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:left; ">IndiceFiscal [log]</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; ">0.11</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; ">0.04 – 0.18</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; "><strong>0.003</strong></td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; ">0.10</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; ">0.03 – 0.17</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; col7"><strong>0.004</strong></td> </tr> <tr> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:left; ">AreaConstruida [log]</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; ">-0.39</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; ">-0.51 – -0.28</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; "><strong><0.001</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; ">-0.46</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; ">-0.58 – -0.35</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; col7"><strong><0.001</td> </tr> <tr> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:left; ">PC [Médio]</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; ">-0.39</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; ">-0.51 – -0.26</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; "><strong><0.001</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; ">-0.39</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; ">-0.51 – -0.27</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; col7"><strong><0.001</td> </tr> <tr> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:left; ">PC [Simples]</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; ">-0.66</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; ">-1.03 – -0.28</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; "><strong>0.001</strong></td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; ">-0.73</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; ">-1.10 – -0.36</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; col7"><strong><0.001</td> </tr> <tr> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:left; ">PC [Superior]</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; ">-0.38</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; ">-0.56 – -0.20</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; "><strong><0.001</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; ">-0.35</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; ">-0.52 – -0.17</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; col7"><strong><0.001</td> </tr> <tr> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:left; padding-top:0.1cm; padding-bottom:0.1cm; border-top:1px solid;">Observations</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; padding-top:0.1cm; padding-bottom:0.1cm; text-align:left; border-top:1px solid;" colspan="3">64</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; padding-top:0.1cm; padding-bottom:0.1cm; text-align:left; border-top:1px solid;" colspan="3">64</td> </tr> <tr> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:left; padding-top:0.1cm; padding-bottom:0.1cm;">R<sup>2</sup> / R<sup>2</sup> adjusted</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; padding-top:0.1cm; padding-bottom:0.1cm; text-align:left;" colspan="3">0.535 / 0.495</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; padding-top:0.1cm; padding-bottom:0.1cm; text-align:left;" colspan="3">0.595 / 0.560</td> </tr> </table> -- ### E agora? Como estimar o fator oferta??? --- # Estimação do Fator Oferta ``` ## Linear hypothesis test ## ## Hypothesis: ## log(IndiceFiscal) = 0.1 ## log(AreaConstruida) = - 0.46 ## ## Model 1: restricted model ## Model 2: log(VUoferta) ~ log(IndiceFiscal) + log(AreaConstruida) + PC ## ## Res.Df RSS Df Sum of Sq F Pr(>F) ## 1 60 1.4331 ## 2 58 1.3995 2 0.033616 0.6966 0.5024 ``` -- ## Modelos restritos ```r R 4.0.2> RfitVenda <- lm(log(VUvenda) ~ offset(.1*log(IndiceFiscal)) + offset(-.46*log(AreaConstruida)) + PC, data = atibaia, subset = -60) R 4.0.2> RfitOferta <- lm(log(VUoferta) ~ offset(.1*log(IndiceFiscal)) + offset(-.46*log(AreaConstruida)) + PC, data = atibaia, subset = -60) ``` --- # Estimação do Fator Oferta .pull-left[ <table style="border-collapse:collapse; border:none;"> <tr> <th style="border-top: double; text-align:center; font-style:normal; font-weight:bold; padding:0.2cm; text-align:left; "> </th> <th colspan="1" style="border-top: double; text-align:center; font-style:normal; font-weight:bold; padding:0.2cm; ">Dependent variable</th> <th colspan="1" style="border-top: double; text-align:center; font-style:normal; font-weight:bold; padding:0.2cm; ">Dependent variable</th> </tr> <tr> <td style=" text-align:center; border-bottom:1px solid; font-style:italic; font-weight:normal; text-align:left; ">Predictors</td> <td style=" text-align:center; border-bottom:1px solid; font-style:italic; font-weight:normal; ">Estimates</td> <td style=" text-align:center; border-bottom:1px solid; font-style:italic; font-weight:normal; ">Estimates</td> </tr> <tr> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:left; ">(Intercept)</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; ">10.157</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; ">10.262</td> </tr> <tr> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:left; ">PCMédio</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; ">-0.387</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; ">-0.431</td> </tr> <tr> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:left; ">PCSimples</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; ">-0.725</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; ">-0.773</td> </tr> <tr> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:left; ">PCSuperior</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; ">-0.346</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; ">-0.376</td> </tr> <tr> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:left; padding-top:0.1cm; padding-bottom:0.1cm; border-top:1px solid;">Observations</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; padding-top:0.1cm; padding-bottom:0.1cm; text-align:left; border-top:1px solid;" colspan="1">64</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; padding-top:0.1cm; padding-bottom:0.1cm; text-align:left; border-top:1px solid;" colspan="1">64</td> </tr> <tr> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:left; padding-top:0.1cm; padding-bottom:0.1cm;">R<sup>2</sup> / R<sup>2</sup> adjusted</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; padding-top:0.1cm; padding-bottom:0.1cm; text-align:left;" colspan="1">0.592 / 0.572</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; padding-top:0.1cm; padding-bottom:0.1cm; text-align:left;" colspan="1">0.578 / 0.557</td> </tr> </table> * Padrão Fino: ```r R 4.0.2> exp(10.157 - 10.262) ``` ``` ## [1] 0.9003245 ``` ] .pull-right[ * Padrão Médio: ```r R 4.0.2> exp((10.157 - .387) - (10.262 - .431)) ``` ``` ## [1] 0.9408232 ``` * Padrão Simples: ```r R 4.0.2> exp((10.157 - .725) - (10.262 - .773)) ``` ``` ## [1] 0.9445941 ``` * Padrão Superior: ```r R 4.0.2> exp((10.157 - .346) - (10.262 - .376)) ``` ``` ## [1] 0.9277435 ``` ] --- # Estimação do Fator Oferta ## Adoção dos coeficientes do modelo de oferta ``` ## Linear hypothesis test ## ## Hypothesis: ## log(IndiceFiscal) = 0.11 ## log(AreaConstruida) = - 0.39 ## ## Model 1: restricted model ## Model 2: log(VUvenda) ~ log(IndiceFiscal) + log(AreaConstruida) + PC ## ## Res.Df RSS Df Sum of Sq F Pr(>F) ## 1 60 1.3627 ## 2 58 1.3234 2 0.039341 0.8621 0.4276 ``` -- # Estimação do Fator Oferta ## Modelos restritos ```r R 4.0.2> RfitVenda2 <- lm(log(VUvenda) ~ offset(.11*log(IndiceFiscal)) + offset(-.39*log(AreaConstruida)) + PC, data = atibaia, subset = -60) R 4.0.2> RfitOferta2 <- lm(log(VUoferta) ~ offset(.11*log(IndiceFiscal)) + offset(-.39*log(AreaConstruida)) + PC, data = atibaia, subset = -60) ``` --- # Estimação do Fator Oferta .pull-left[ <table style="border-collapse:collapse; border:none;"> <tr> <th style="border-top: double; text-align:center; font-style:normal; font-weight:bold; padding:0.2cm; text-align:left; "> </th> <th colspan="1" style="border-top: double; text-align:center; font-style:normal; font-weight:bold; padding:0.2cm; ">Dependent variable</th> <th colspan="1" style="border-top: double; text-align:center; font-style:normal; font-weight:bold; padding:0.2cm; ">Dependent variable</th> </tr> <tr> <td style=" text-align:center; border-bottom:1px solid; font-style:italic; font-weight:normal; text-align:left; ">Predictors</td> <td style=" text-align:center; border-bottom:1px solid; font-style:italic; font-weight:normal; ">Estimates</td> <td style=" text-align:center; border-bottom:1px solid; font-style:italic; font-weight:normal; ">Estimates</td> </tr> <tr> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:left; ">(Intercept)</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; ">9.707</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; ">9.812</td> </tr> <tr> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:left; ">PCMédio</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; ">-0.341</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; ">-0.384</td> </tr> <tr> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:left; ">PCSimples</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; ">-0.602</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; ">-0.649</td> </tr> <tr> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:left; ">PCSuperior</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; ">-0.351</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:center; ">-0.381</td> </tr> <tr> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:left; padding-top:0.1cm; padding-bottom:0.1cm; border-top:1px solid;">Observations</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; padding-top:0.1cm; padding-bottom:0.1cm; text-align:left; border-top:1px solid;" colspan="1">64</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; padding-top:0.1cm; padding-bottom:0.1cm; text-align:left; border-top:1px solid;" colspan="1">64</td> </tr> <tr> <td style=" padding:0.2cm; text-align:left; vertical-align:top; text-align:left; padding-top:0.1cm; padding-bottom:0.1cm;">R<sup>2</sup> / R<sup>2</sup> adjusted</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; padding-top:0.1cm; padding-bottom:0.1cm; text-align:left;" colspan="1">0.531 / 0.507</td> <td style=" padding:0.2cm; text-align:left; vertical-align:top; padding-top:0.1cm; padding-bottom:0.1cm; text-align:left;" colspan="1">0.532 / 0.508</td> </tr> </table> * Padrão Fino: ```r R 4.0.2> exp(9.707 - 9.812) ``` ``` ## [1] 0.9003245 ``` ] .pull-right[ * Padrão Médio: ```r R 4.0.2> exp((9.707 - .341) - (9.812 - .384)) ``` ``` ## [1] 0.9398829 ``` * Padrão Simples: ```r R 4.0.2> exp((9.707 - .602) - (9.812 - .649)) ``` ``` ## [1] 0.9436499 ``` * Padrão Superior: ```r R 4.0.2> exp((9.707 - .351) - (9.812 - .381)) ``` ``` ## [1] 0.9277435 ``` ] --- class: inverse, center, middle # Efeitos do Fator Oferta sobre IC e IP --- # Efeitos do Fator Oferta sobre IC e IP * <a name=cite-matloff2009></a>[Matloff (2009, p. 47)](#bib-matloff2009): `\(\mathbb{E}[c \cdot VU] = c\mathbb{E}[VU]\)` -- `$$\mathbb{E}[VU_{venda}] = \mathbb{E}[c\cdot VU_{oferta}] = c \mathbb{E}[VU_{oferta}]$$` -- * [Matloff (2009, p. 54)](#bib-matloff2009): `\(\mathbb{V}[c \cdot VU] = c^2\mathbb{V}[VU]\)` -- `$$\mathbb{V}[VU_{venda}] = \mathbb{V}[c\cdot VU_{oferta}] = c^2 \mathbb{V}[VU_{oferta}]$$` -- * Intervalos de Confiança ([Matloff, 2009](#bib-matloff2009), p. 272): `\(IC_\alpha = \hat\theta \pm Z_{1 - \frac{\alpha}{2}} s.e.(\hat \theta)\)` -- * [Matloff (2009, p. 272)](#bib-matloff2009): - `\(\mathbb{\hat V}(\hat \theta) = \frac{s^2}{n} \, , \text{onde} \, s^2 = \frac{1}{n}\sum_{i=1}^n(\theta_i-\hat \theta)^2\)` - `\(s.e.(\hat \theta) = \sqrt{\mathbb{\hat V}(\hat \theta)}\)` - `\(s.e.(\hat \theta) = \frac{s}{\sqrt{n}}\)` -- * Na regressão linear o estimador é `\(\beta\)`. Utilizamos este estimador para encontrar `\(\hat Y = X\hat\beta\)`. Qual o IC para `\(\hat Y\)`? --- # Efeitos do Fator Oferta sobre IC e IP * Na regressão linear ([Matloff, 2009](#bib-matloff2009), p. 401): - `\(\widehat{Cov}(\hat\beta) = s^2(X'X)^{-1}\)` -- * <a name=cite-matloff2017></a>[Matloff (2017, p. 102)](#bib-matloff2017): `\(\mathbb{V}(a'U) = a'Cov(U)a\)` -- * Portanto: .pull-left[ `\begin{align} IC_{\hat \beta} &= \hat\beta \pm t_{n-p}^{\alpha/2} s.e.(\hat \beta)\\ &= \hat\beta \pm t_{n-p}^{\alpha/2} \sqrt{\widehat{Cov}(\hat\beta)}\\ &= \hat\beta \pm t_{n-p}^{\alpha/2} \sqrt{s^2(X'X)^{-1}}\\ &= \hat\beta \pm t_{n-p}^{\alpha/2} s \sqrt{(X'X)^{-1}} \end{align}` ] .pull-right[ `\begin{align} IC_{\hat y_0} &= x_0'\hat\beta \pm t_{n-p}^{\alpha/2} \sqrt{\mathbb{\hat V}(x_0'\hat\beta)}\\ &= x_0'\hat\beta \pm t_{n-p}^{\alpha/2} \sqrt{x_0'\widehat{Cov}(\hat\beta)x_0}\\ &= x_0'\hat\beta \pm t_{n-p}^{\alpha/2} s \sqrt{x_0'(X'X)^{-1}x_0} \end{align}` ] -- * Ou seja: `$$IC_{\hat y_0} = x_0'\hat\beta \pm t_{n-p}^{\alpha/2}\cdot x_0 \times s.e.(\hat\beta)$$` --- # Efeitos do Fator Oferta sobre IC e IP `\begin{align} s.e.(\hat{VU}_{venda}) &= s.e.(c \hat{VU}_{oferta}) \\ &= \sqrt{\mathbb{\hat V}(c \hat{VU}_{oferta})} \\ &= \sqrt{c^2\mathbb{\hat V} (\hat{VU}_{oferta})}\\ &= c\sqrt{\mathbb{\hat V} (\hat{VU}_{oferta})} \end{align}` -- * `\(s.e.(\hat{VU}_{venda}) = c\cdot s.e.(\hat{VU}_{oferta})\)` -- * O IC dos valores de venda, portanto, pode ser escrito em termos dos valores de venda: `$$IC_{VU_{venda}} = \hat{VU}_{venda} \pm t_{n-p}^{\alpha/2}\cdot s.e.(\hat{VU}_{venda})$$` -- * Ou em termos dos valores de oferta: `$$IC_{VU_{venda}} = c \cdot \hat{VU}_{oferta} \pm t_{n-p}^{\alpha/2} \cdot c \cdot s.e.(\hat{VU}_{oferta})$$` -- * Em suma: `$$IC_{VU_{venda}} = c \cdot IC_{VU_{oferta}}$$` --- # Efeitos do Fator Oferta sobre IC e IP * Dados exclusivamente de ofertas: ```r R 4.0.2> set.seed(2) R 4.0.2> area <- runif(100, min = 250, max = 10000); vu <- 3000 - .25*area + rnorm(100, 0, 2000) R 4.0.2> dados <- data.frame(VU = vu, Area = area) ``` -- .pull-left[ * Avaliador A: ```r R 4.0.2> dados$VUvenda <- .9*dados$VU R 4.0.2> fit <- lm(VUvenda ~ Area, data = dados) R 4.0.2> p <- predict(fit, newdata = data.frame(Area = 5000), interval = "confidence", level = .80) R 4.0.2> p ``` ``` ## fit lwr upr *## 1 1618.635 1357.652 1879.617 ``` ] .pull-right[ * Avaliador B: ```r R 4.0.2> fit1 <- lm(VU ~ Area, data = dados) R 4.0.2> p1 <- predict(fit1, newdata = data.frame(Area = 5000), interval = "confidence", level = .80) R 4.0.2> p1 ``` ``` ## fit lwr upr ## 1 1798.483 1508.503 2088.463 ``` ```r R 4.0.2> .9*p1 ``` ``` ## fit lwr upr *## 1 1618.635 1357.652 1879.617 ``` ] --- class: inverse, center, middle # Conclusão --- # Conclusão * A estimação e aplicação do Fator Oferta deve ser feita com cuidado. - Deve-se ter em mente que assumir que `\(V_{venda} = \lambda V_{oferta}\)` é apenas uma hipótese, que deve ser verificada. -- * A análise exploratória é fundamental para a percepção da realidade do mercado antes da modelagem. -- * A modelagem deve levar em conta a hipótese feita para o fator oferta. - A má especificação do fator oferta pode levar a modelos tendenciosos, que podem produzir más previsões de valores, especialmente nos extremos da amostra. -- * A eventual obtenção do fator oferta previamente à modelagem é benéfica. - Modelos ficam mais simples e interpretáveis. -- * Quando possível, deve ser investigada a possível existência de fatores diferentes, de acordo com a tipologia, o padrão construtivo, etc. -- * A transformação logarítimica da variável dependente permite uma estimação menos custosa do fator oferta. --- # Conclusão * Quando da utilização exclusiva de dados de oferta, a aplicação do fator oferta antes ou após o ajuste do modelo de regressão deveria conduzir aos mesmos valores previstos, tanto para a estimativa central, quanto para os limites dos intervalos de confiança e predição. A norma deveria estabelecer este procedimento explicitamente. --- class: scrollable-slide # Referências <a name=bib-NBR1465302></a>[ABNT](#cite-NBR1465302) (2011). _NBR 14653-2. Avaliacao de Bens - Parte 2: Imoveis Urbanos_. Associacao Brasileira de Normas Tecnicas. Rio de Janeiro, p. 51. <a name=bib-NBR1465301></a>[ABNT](#cite-NBR1465301) (2019). _NBR 14653-1. Avaliacao de Bens - Parte 1: Procedimentos Gerais_. Associacao Brasileira de Normas Tecnicas. Rio de Janeiro, p. 19. <a name=bib-chinloy></a>[Chinloy, P. T.](#cite-chinloy) (1980). "An empirical model of the market for resale homes". In: _Journal of Urban Economics_ 7.3, pp. 279-292. ISSN: 0094-1190. DOI: [https://doi.org/10.1016/0094-1190(80)90001-7](https://doi.org/https%3A%2F%2Fdoi.org%2F10.1016%2F0094-1190%2880%2990001-7). <a name=bib-erba2019></a>[Erba, D. A.](#cite-erba2019) (2019). "Politica Tributaria vs. Politica Catastral, nuevo juego de roles". In: _Revista de Administracion Tributaria_, pp. 37-50. ISSN: 1684-9434. <a name=bib-fipezap></a>[FIPE and ZAP](#cite-fipezap) (2021). _Raio-X FIPEZAP. Perfil da Demanda de Imóveis_. URL: [https://fipezap.zapimoveis.com.br/wp-content/uploads/2021/05/raio-x-fipezap-2021t1.pdf](https://fipezap.zapimoveis.com.br/wp-content/uploads/2021/05/raio-x-fipezap-2021t1.pdf). <a name=bib-gribbin2019></a>[Gribbin, K.](#cite-gribbin2019) (2019). "Priced to sell. How list price affects final sales price in the Kingston Real Estate Market". MA Thesis. Kingston, Ontario, Canada: Queen's University. <a name=bib-haurin></a>[Haurin, D., S. McGreal, A. Adair, et al.](#cite-haurin) (2013). "List price and sales prices of residential properties during booms and busts". In: _Journal of Housing Economics_ 22.1, pp. 1-10. ISSN: 1051-1377. DOI: [https://doi.org/10.1016/j.jhe.2013.01.003](https://doi.org/https%3A%2F%2Fdoi.org%2F10.1016%2Fj.jhe.2013.01.003). <a name=bib-horowitz></a>[Horowitz, J. L.](#cite-horowitz) (1992). "The Role of the List Price in Housing Markets: Theory and an Econometric Model". In: _Journal of Applied Econometrics_ 7.2, pp. 115-129. ISSN: 08837252, 10991255. URL: [http://www.jstor.org/stable/2285023](http://www.jstor.org/stable/2285023). <a name=bib-ibapeSP></a>[IBAPE/SP](#cite-ibapeSP) (2011). _Norma Para Avaliacao de Imoveis Urbanos_. Instituto Brasileiro de Avaliacoes e Pericias de Engenharia de Sao Paulo. Sao Paulo, p. 36. <a name=bib-lima2006></a>[Lima, G. P. d. A.](#cite-lima2006) (2006). "Homogeneizacao por Fatores na Forma Aditiva, Multiplicativa ou Mista?" In: _XIII COBREAP_. <a name=bib-mantovani2019></a>[Mantovani, F. A., R. Cymrot, and L. H. Cappelano](#cite-mantovani2019) "Fator Oferta para imoveis residenciais da cidade de Atibaia/SP em tempos de crise". In: _XX COBREAP_. <a name=bib-matloff2017></a>[Matloff, N.](#cite-matloff2017) (2017). _Statistical Regression and Classification. From Linear Models to Machine Learning_. Boca Raton, Florida: Chapman & Hall. <a name=bib-matloff2009></a>[Matloff, N. S.](#cite-matloff2009) (2009). _From Algorithms to Z-Scores. Probabilistic and Statistical Modeling in Computer Science_. Davis, California: Orange Grove Books. URL: [http://heather.cs.ucdavis.edu/~matloff/132/PLN/probstatbook/ProbStatBook.pdf](http://heather.cs.ucdavis.edu/~matloff/132/PLN/probstatbook/ProbStatBook.pdf). <a name=bib-mooya2009></a>[Mooya, M. M.](#cite-mooya2009) (2009). "Market Value without a Market: Perspectives from Transaction Cost Theory". In: _Urban Studies_ 46.3, pp. 687-701. ISSN: 00420980, 1360063X. URL: [http://www.jstor.org/stable/43197982](http://www.jstor.org/stable/43197982). <a name=bib-spinney></a>[Spinney, J. E. L.](#cite-spinney) (2010). "Geography, Land Values and Municipal Taxation. A Spatial Paradigm for the estimation and reclamation of rent". Doctor of Philosophy. Hamilton, Ontario, p. 132. --- class: center, middle, inverse # OBRIGADO!