Detectando reviews falsos na Amazon


Agora que comecei a usar mais a Amazon no dia-a-dia (usava basicamente para livros e eletrônicos) percebi a quantidade assustadora de reviews falsos que existem por lá. Isso naturalmente levou a outra pergunta: que tal usar análise de dados para filtrar os reviews falsos dos verdadeiros?

Pois bem, como quase toda a idéia que temos, alguém já a implementou. Então se você ainda não conhece, vai aqui a dica do fakespot. Usando técnicas de processamento de linguagem natural e machine learning, o site tenta identificar quais e quantos reviews são realmente autênticos. O serviço poderia ser melhor executado, mas tem funcionado bem nos casos que testei.

Seminário – Ciência de Dados e Sociedade, dia 15 de Junho às 19h, no Auditório do Instituto de Ciência Política da UnB


Inscrições e mais informações aqui. Estaremos no seminário eu, Daniel Marcelino e Rommel Carvalho.

Dados de pesquisas eleitorais de 1989 a 2015


Neale Ahmed El-Dash, do Polling Data (que já mencionamos aqui algumas vezes, como no modelo de impeachment), acabou de divulgar dados de pesquisas eleitorais brasileiras publicadas entre 1989 a 2015. Você pode acessar os dados clicando em  “Acervo/Past Elections”.

 

Inferência causal e Big Data: Sackler Big Data Colloquium


Uma série de palestras interessantes do Sackler Big Data Colloquium:

 

Hal Varian: Causal Inference, Econometrics, and Big Data

***

Leo Bottou: Causal Reasoning and Learning Systems

***

David Madigan: Honest Inference From Observational Database Studies

***

Susan Athey: Estimating Heterogeneous Treatment Effects Using Machine Learning in Observational Studies

Impactos de Contágio do Setor Real no Sistema Financeiro


O novo Relatório de Estabilidade Financeira (REF) do Banco Central do Brasil foi publicado ontem. Dentre várias informações interessantes, neste relatório foi publicado um boxe que discute a mensuração de impactos de contágio do setor real da economia no sistema financeiro.

Resumidamente, a partir de uma rede de conexões do setor real, o BCB simula um processo de contágio e verifica os possíveis afetados bem como seus empregados. Com esses dados em mão, o BCB mapeia as exposições do SFN a essas empresas e funcionários e, em seguida, simula um segundo processo de contágio no setor financeiro.

A rede do setor real (representada abaixo) foi montada a partir dos dados de TED entre as empresas. Na figura abaixo, “cada esfera representa um grupo econômico. O tamanho delas é proporcional à sua participação no fluxo de transferências do SPB. As cores das arestas refletem a importância do fluxo de TED para a empresa recebedora – quanto mais vermelho, maior a importância e maiores as chances de contágio. Nem todos os grupos estão representados.” (BCB, 2015)

setor real

Já a rede do setor financeiro é montada a partir das exposições que os conglomerados financeiros possuem entre si. Na figura abaixo, “as esferas azuis referem-se aos Bancos Múltiplos e Comerciais, as verdes, aos Bancos de Desenvolvimento, as vermelhas, aos Bancos de Investimento, as laranjas, às Cooperativas de Crédito e Financeiras, e as amarelas, às Corretoras e empresas de leasing.” (BCB, 2015)

rede sfnVale a pena tirar um tempo e conferir o REF!

Links diversos: Credibilidade da pesquisa empírica em economia, Boostrap e Bayes, Comece pelo R e Rajan.


–  Sobre a credibilidade da pesquisa empírica em economia – uma discussão curta (menos de 10 páginas) do Ioannidis (2013). Conclusão: Overall, the credibility of the economics literature is likely to be modest or even low.

– Rasmus Baath tem um post bacana sobre Boostrap e estatística Bayesiana.

– Se interessou sobre programação e não sabe por qual linguagem começar? Se você é economista (ou estatístico) comece pelo R. Pretendo escrever um post sobre isso, mas como ainda não o fiz, segue um post que esboça alguns porquês.

– Falando de programação, no começo, provavelmente você vai se sentir assim quando alguém ler seus códigos (via xkcd):

code_quality

 (mas algumas pessoas, como o Hadley, não gostaram muito do tom do cartoon)

 – Um profile do Raghuram Rajan.

Quando confiar nas suas previsões?


Quando você deve confiar em suas previsões? Como um amigo meu já disse, a resposta para essa questão é fácil: nunca (ou quase nunca).

Mas, brincadeiras à parte, para este post fazer sentido, vou reformular a pergunta: quando você deve desconfiar ainda mais das previsões do seu modelo?

Há várias situações em que isso ocorre, ilustremos aqui uma delas.

***

Imagine que você tenha as seguintes observações de x e y.

unnamed-chunk-1-1

 

Para modelar os dados acima, vamos usar uma técnica de machine learning chamada Suport Vector Machine com um núcleo radial. Se você nunca ouviu falar disso, você pode pensar na técnica, basicamente, como uma forma genérica de aproximar funções.

Será que nosso modelo vai fazer um bom trabalho?

unnamed-chunk-3-1

 

Pelo gráfico, é fácil ver que nossa aproximação ficou bem ajustada! Para ser mais exato, temos um R2 de 0.992 estimado por cross validation (que é uma estimativa do ajuste fora da amostra – e é isso o que importa, você não quer saber o quão bem você fez overfitting dos dados!).

Agora suponha que tenhamos algumas observações novas, isto é, observações nunca vistas antes. Só que essas observações novas serão de dois “tipos”, que aqui criativamente chamaremos de tipo 1 e tipo 2. Enquanto a primeira está dentro de um intervalo de x que observamos ao “treinar” nosso modelo, a segunda está em intervalos muito diferentes.

unnamed-chunk-4-1

Qual tipo de observação você acha que teremos mais dificuldades de prever, a de tipo 1 ou tipo 2? Você já deve ter percebido onde queremos chegar.

Vejamos, portanto, como nosso modelo se sai agora:

unnamed-chunk-5-1

Note que nas observações “similares” (tipo 1) o modelo foi excelente, mas nas observações “diferentes” (tipo 2) nós erramos – e erramos muito. Este é um problema de extrapolação.

Neste caso, unidimensional, foi fácil perceber que uma parte dos dados que gostaríamos de prever era bastante diferente dos dados que usamos para modelar. Mas, na vida real, essa distinção pode se tornar bastante difícil. Uma complicação simples é termos mais variáveis. Imagine um caso com mais de 20 variáveis explicativas – note que já não seria trivial determinar se novas observações são similares ou não às observadas!

Quer aprofundar mais um pouco no assunto? Há uma discussão legal no livro do Max Kuhn, que já mencionamos aqui no blog.

O que é overfitting, desenhado!


Nessas eleições, muitos louvaram o Rio Grande do Sul por nunca reeleger um governador por um segundo mandato. Várias explicações sociológicas foram dadas para o comportamento.   Entretanto, antes de inferir alguma coisa mais essencial deste padrão, vale a pena dar uma olhada nesta tirinha do xkcd para renovar o ceticismo:

13vdbE aguardemos por um N maior!

Via uma resposta do Cross Validated.

 

Links diversos: Discriminação de preços em passagens, vídeo Piketty na USP e replicação dos códigos dos artigos.


Seguem alguns links interessantes da semana:

– Vai comprar passagens? Então não busque somente no “site em português” da companhia aérea, mas também nas versões estrangeiras. Algumas vezes o preço pode ser mais barato, bem mais barato.  Para verificar se isso ocorre por aqui, simulei hoje uma passagem Brasília – Vitória para a virada do ano, tanto na versão em português quanto na versão em inglês do site da TAM. Resultado: no site em inglês a passagem está quase R$1.000,00 mais cara. Neste caso, o gringo que estiver no Brasil pode economizar bastante apenas mudando a linguagem da página, mas já houve relatos de o inverso acontecer (a passagem no site em inglês estar mais barata).

– Lembra que o Piketty estava pelo Brasil? Pois bem, para quem não conseguiu estar presente, agora o  vídeo do debate que ocorreu na USP, com André Lara Resende e Paulo Guedes, está disponível (via Prosa Econômica).

–  Desde 2005, o Quarterly Journal of Political Science solicita aos autores os dados e códigos necessários para a replicação de seus papers. Com isso, o periódico faz uma revisão bem básica: apenas roda o que foi enviado pelos autores – as is – e verifica se os resultados são os mesmos apresentados pelo artigo. Este processo simples tem valido a pena? Segundo Nicholas Eubank, sim:

Experience has shown the answer is an unambiguous “yes.” Of the 24 empirical papers subject to in-house replication review since September 2012, [1] only 4 packages required no modifications. Of the remaining 20 papers, 13 had code that would not execute without errors, 8 failed to include code for results that appeared in the paper, [2] and 7 failed to include installation directions for software dependencies. Most troubling, however, 13 (54 percent) had results in the paper that differed from those generated by the author’s own code. Some of these issues were relatively small — likely arising from rounding errors during transcription — but in other cases they involved incorrectly signed or mis-labeled regression coefficients, large errors in observation counts, and incorrect summary statistics. Frequently, these discrepancies required changes to full columns or tables of results. Moreover, Zachary Peskowitz, who served as the QJPS replication assistant from 2010 to 2012, reports similar levels of replication errors during his tenure as well. The extent of the issues — which occurred despite authors having been informed their packages would be subject to review — points to the necessity of this type of in-house interrogation of code prior to paper publication.

Fica a pergunta: quantos journals brasileiros fazem isso?

(via Dave Giles)

Links diversos: o Estatístico Automático e um pouco de história do R.


Seguem alguns links interessantes:

1. Andrew Gelman comentou sobre o estatístico automático e resolvi testar. Como ainda é um protótipo, por enquanto o site só trabalha com modelos lineares. O que o algoritmo tentará fazer? O seguinte:

 (…)  the automatic statistician will attempt to describe the final column of your data in terms of the rest of the data. After constructing a model of your data, it will then attempt to falsify its claims to see if there is any aspect of the data that has not been well captured by its model.

Testei com os dados dos votos municipais na Dilma vs variáveis socio-econômicas dos municípios (primeiro turno). Veja aqui os resultados.

2. Ok, este link só vai ser interessante se você tiver um pouco de curiosidade sobre o R. Rasmus Baath comprou os livros das antigas versões do S (a linguagem que deu origem ao R) e ressaltou alguns pontos interessantes sobre o desenvolvimento da linguagem ao longo do tempo.