10 Questões de Data Science em entrevistas de emprego da Microsoft

10 Questões de Data Science em entrevistas de emprego da Microsoft

Essas são 10 questões retiradas de uma entrevista de emprego na área de Data Science feitas no processo seletivo da Microsoft. São questões de âmbito geral, que avaliam a capacidade de um candidato pensar com clareza e simplicidade. Colocamos aqui a nossa solução para as perguntas.

É claro que, muito provavelmente, devem existir respostas equivalentes e até melhores. Veja o que você acha! E se tiver ideias melhores de como resolver alguma questão, nos deixe um comentário! Em diversas respostas, utilizamos algumas imagens e materiais de apoio, que você pode encontrar na lista de fontes, no final do post.

#1 Como você geraria 7 inteiros com igual probabilidade a partir de uma função que retorna 0 ou 1, com probabilidade (1-p) e p, respectivamente?

Suponha que queremos gerar os números inteiros 0, 1, 2, 3, 4, 5, 6, com igual probabilidade. (7 inteiros). Temos que trabalhar com ensaios de Bernoulli de probabilidade p.

Vamos apresentar uma maneira, bem direta e pouco eficiente, de conseguir o que se pede. Primeiro, associe a sequência de 7 ensaios com resultados da seguinte maneira:

      • (1, 0, 0, 0, 0, 0, 0) = 0
      • (0, 1, 0, 0, 0, 0, 0) = 1
      • (0, 0, 1, 0, 0, 0, 0) = 2
      • (0, 0, 0, 1, 0, 0, 0) = 3
      • (0, 0, 0, 0, 1, 0, 0) = 4
      • (0, 0, 0, 0, 0, 1, 0) = 5
      • (0, 0, 0, 0, 0, 0, 1) = 6

Veja que todos essas sequências tem mesma probabilidade de ocorrer, p(1-p)^6.

Agora, basta realizar a coleção de 7 ensaios, até acontecer 7 sequências dessas. Os números gerados são aqueles obtidas pelas sequências geradas.

Como você deve ter imaginado, é um método pouco eficiente, pois todas as vezes que sair uma sequencia diferente dessas listadas, o experimento deve ser repetido. A eficiência ainda pode diminuir bastante se p for um valor muito alto.

Uma maneira de diminuir o esforço computacional é pensando em um ensaio binomial menor, mas que contenha pelo menos 7 eventos diferentes com mesma probabilidade.

Toda a ideia desse problema é gerar situações em que se há a mesma probabilidade de ocorrer, e então associar aos inteiros que se deseja gerar.

Deixamos como desafio ao leitor.

#2 O que é a curva ROC e qual o significado de sensibilidade, especificidade e matriz de confusão?

Vamos começar pelo inverso do que se foi pedido.

A matriz de confusão é a matriz quadrada em que se compara os verdadeiros valores de uma classificação com os valores preditos através de algum modelo. Sua diagonal é composta pelos acertos do modelo e os demais valores são os erros cometidos. O caso binário, o mais comum, é representado pela seguinte matriz:

A taxa de acerto, por exemplo, é a soma dos valores na diagonal principal dividido pela soma de todos os valores na matriz. Outras medidas importantes podem ser retiradas dessa matriz, como a sensibilidade e a especificidade.

A sensibilidade é taxa de verdadeiros positivos, calculada pela proporção dos verdadeiros positivos dentre todos que de fato são positivos (VP/(VP + FN). Representa a capacidade de um modelo em prever a classe positiva.

A especificidade é taxa dos verdadeiros negativos, calculada pela proporção dos verdadeiros negativos dentre todos que de fato são negativos (VN/(VN + FP). Representa a capacidade de um modelo em prever a classe negativa.

Todas essa métricas variam no intervalo [0,1] e quanto mais próximos de 1, melhor é o modelo.

Agora, se calcularmos 1 – especificidade, teremos o quociente FP/(VN+FP), que representa a taxa de falsos positivos.

A curva ROC (Receiver Operating Characteristic Curve) é a curva gerada pela taxa de verdadeiros positivos (sensibilidade) e pela taxa de falsos positivos (1 – especificidade) em diversos pontos limiares diferentes. É calculada quando o modelo prevê a probabilidade da classificação ser positiva, como por exemplo, uma regressão logística. Os pontos limiares são os pontos de corte em que a classificação é dada como positiva.

A imagem abaixo ilustra uma curva ROC:

Uma modelagem aleatória gera a curva ROC em vermelho, um bom modelo apresenta uma curva ROC como a curva azul e um modelo perfeito tem sua curva representada em verde.

A curva ROC oferece uma visão geral de um classificador e pode ser utilizada para encontrar pontos de corte ideias. O corte que deixa a curva mais próxima do vértice (0, 1) maximiza a sensibilidade conjuntamente com a especificidade.

Uma medida decorrente da curva ROC é o AUC (Area Under the Curve), que nada mais é que a área abaixo da curva. Varia entre 0 e 1 e quanto maior, melhor.

#3 Qual a definição de p-valor? Como explicar o p-valor para clientes?

O p-valor é a probabilidade que representa o quão improvável uma observação é em relação a uma hipótese previamente atribuída.

É utilizada no contexto de testes de hipóteses. Em termos mais rigorosos, o p-valor é a probabilidade de uma estatística ser igual ou mais extrema que aquela observada em uma amostra, quando a hipótese nula é verdadeira. Ou seja, é a probabilidade de rejeitar a hipótese nula. Em geral, em testes de hipóteses, rejeita-se a hipótese nula caso o p-valor seja menor que 5%.

Explicando para um leigo: suponha que um amigo seu disse que foi pescar e fisgou uma tilápia de 8kg. Sabendo que tilápias pesam em média 1,5kg, com uma variação comum indo até uns 3kg. O p-valor é a probabilidade de que uma seu amigo de fato tenha pescado uma tilápia de peso igual ou superior a 8kg. É a probabilidade desse conto todo ser apenas uma história de pescador.

#4 Como você faz para identificar se uma nova observação é um outlier?

Um outlier é um ponto fora da curva, um valor atípico, um valor aberrante em relação aos demais dados de uma amostra. Eles podem acontecer por algum erro de digitação, por exemplo, ao digitar a altura de uma pessoa, alguém poderia colocar a vírgula no lugar errado e trocar 1,77m por 17,7m. Ou também pode ser apenas a representação de uma observação incomum, como um aluno mais velho numa turma de jovens.

Os outliers podem facilmente alterar bruscamente medidas como a média (uma das razões pra sempre dar uma conferida na mediana de uma amostra, que é uma medida pouco influenciada por outliers). Muitas vezes, atrapalham na construção de alguns modelos também.

Podem ser detectados de muitas maneiras, as mais comuns são via:

      • boxplot – quando a observação se encontra fora do intervalo definido pelos limites inferiores e superiores;
      • z-score – quando a observação se encontra fora do intervalo definido por algum múltiplo do desvio padrão predeterminado. Aqui, supõe-se que a distribuição dos dados em questão seja normal.

#5 Você tem um saco com 6 bolas. Uma das bolas é branca. Você retira, com reposição, 100 bolas. Qual a probabilidade de retirar uma bola branca pelo menos uma vez?

Esse problema é simples quando calculado através do complementar do que se pede. A probabilidade de se retirar uma bola branca pelo menos uma vez é equivalente a 1 menos a probabilidade de não se retirar a bola branca nenhuma vez, nas 100 tentativas.

A probabilidade de não retirar uma bola branca é de 5/6. Como as retiradas são independentes, a probabilidade de não se retirar nenhuma bola branca em 100 tentativas é de (5/6)^100.

Logo, a probabilidade desejada é de 1 – (5/6)^100 = 0,999999987925327. Praticamente 1.

Em geral, problemas de probabilidade como esse são resolvidos através da distribuição binomial.

#6 O que é o poder de um teste? Como explicar para esse conceito para um leigo? O que são os falsos positivos e falsos negativos?

Em geral, um teste de hípoteses é formado pela hipótese nula ( H_0 ) e a hipótese alternativa ( H_1 ). No teste, o objetivo é tomar a decisão de rejeitar ou não H_0 . O poder do teste é a probabilidade de se rejeitar a hipótese nula quando a mesma não é verdadeira.

Em testes de hipóteses, temos o erro tipo 1 e o erro tipo 2. O erro tipo 1, também chamado nesse contexto de falso positivo,  é quando rejeitamos a hipótese nula mas ela é verdadeira. O erro tipo 2, também chamado de falso negativo, é quando não rejeitamos a hipótese nula mas ela é falsa.

O objetivo em se calcular o poder do teste é avaliar o quanto um teste de hipóteses.

O poder do teste tem como objetivo conhecer o quanto o teste de hipóteses controla um erro do tipo II (probabilidade de aceitar a hipótese nula dado que a hipótese alternativa é verdadeira, chamado também de falso negativo, nesse contexto), ou seja, qual a probabilidade de rejeitar a hipótese nula quando realmente ela é falsa. Logo, o poder de um teste é a probabilidade de tomar a decisão correta, rejeitando uma hipótese (nula) quando realmente ela é falsa.

Em termos para um leigo: considere novamente o exemplo da questão #3. O poder do teste seria a probabilidade do teste indicar que o amigo pescou sim uma tilápia de 8kg, sendo que a história é de fato verdadeira.

#7 Três amigos em Salvador disseram que está chovendo. Cada um mente com probabilidade 1/3. Qual a probabilidade de estar chovendo em Salvador?

Aqui novamente a solução sai fácil pelo complementar do que se pede. Chove em Salvador se pelo menos um dos amigos falar a verdade.

Então, só não está chovendo em Salvador se os três amigos estiverem mentindo. Supondo que cada amigo passa a informação de forma independente, a probabilidade dos três estarem mentindo simultaneamente é de (1/3)^3.

Logo, a probabilidade de pelo menos um deles estar falando a verdade sobre a chuva em Salvador é 1 – (1/3)^3 = 0,9629 = 96,29%.

#8 Qual a diferença entre um boxplot e um histograma?

Um boxplot é um gráfico de caixa, em que fica facilmente observável certos estatísticas importantes de uma amostra. A caixa é formada pelo primeiro e terceiro quartil dos dados, uma linha corta a caixa representando a mediana. Muitas vezes, um ponto é adicionado representando a média. São também colocadas extensões inferiores e superiores na caixa, representando o limite inferior e superior, respectivamente. São calculados através das seguintes fórmulas:

      • Limite Inferior  = max{min(dados); Q1 – 1,5(Q3 – Q1)}
      • Limite Superior = min{max(dados); Q3 + 1,5(Q3 – Q1)}

Os valores denotados por Q1 e Q3 são, respectivamente, o primeiro e terceiro quartis). Valores fora do intervalo determinado pelos limites inferior e superior, são considerados outliers.

Um histograma é um gráfico composto de barras verticais em que cada barra representa a quantidade de valores encontradas numa amostra no intervalo representado pela largura da barra. Ele é útil para visualizar a distribuição empírica dos dados.

Tanto o boxplot quanto o histograma são utilizados para visualizar dados de variáveis contínuas.

A diferença entre os dois gráficos é que no histograma observamos melhor os dados como um todo, no boxplot observamos melhor alguns pontos importantes da distribuição dos dados, como a mediana, os quartis e os limites inferiores e superiores.

Veja um exemplo de uma amostra de tamanho 100 gerada artificialmente de uma distribuição normal de média 20 e variância 4, acrescido de mais uma observação de valor 30 (para ser um outlier, no caso):

#9 Qual a diferença entre regressão Lasso e Ridge?

LASSO e Ridge são técnicas de regularização de modelos. A regularização é utilizada para limitar os efeitos das covariáveis através de penalizações, de forma a evitar sobreajustes e, em muitos casos, ajudar a melhorar a interpretação dos modelos. São também conhecidas como penalizações L1 e L2, respectivamente. Essas penalizações são equivalentes a uma inserção de viés no modelo (veja logo a abaixo a questão sobre o dilema viés-variância).

A regressão LASSO é um acrônimo para Least Absolute Shrinkage and Selection Operator, e como próprio nome diz, a técnica trabalha com um “encolhimento” utilizando o valor absoluto dos parâmetros.

Já na regressão Ridge o que acontece é muito similar ao LASSO, mas ao invés de utilizar a valor absoluto dos coeficientes, são utilizados seus termos quadráticos.

Uma diferença importante entre as duas é que no LASSO, quando há variáveis altamente correlacionadas, o método vai deixar uma e diminuir o coeficiente da outra para zero. Já na regressão Ridge, os coeficientes dessas mesmas variáveis ficariam similares. Além disso, a penalização L1 não é diferenciável, ao contrário da penalização L2, o que matematicamente é um inconveniente.

Outro método de regularização popular é a conhecida como Elastic Net, que é a combinação entre o LASSO e o Ridge.

#10 O que é o dilema viés-variância?

O dilema viés-variância é pertinente ao mundo de Machine Learning, em que faz referencia ao modelos em que sobreajusta aos dados (causando alta variância e pouco viés) ou que subajusta aos dados (com pouca variância e alto viés).

Na prática, sempre se procura aquele modelo que equilibra essas duas componentes, de forma que o modelo tenha o melhor ajuste possível para dados novos, dados que não foram utilizados no processo de treinamento. Esse modelo é o mais desejável para se colocar em produção.

O viés pode ser interpretado como a capacidade de um modelo em privilegiar uma certa classe ou hipótese.

A figura acima ilustra bem o trade-off. Quanto mais complexo um modelo é, maior a tendência em sobreajustar aos dados, diminuindo a zero o erro de treinamento, mas sem conseguir repetir a façanha nos dados de teste. É a representação do viés do modelo. O modelo ideal é aquele que minimiza simultaneamente o viés e a variância, que também são as duas componentes que se pode controlar na decomposição do erro quadrático médio.

A figura abaixo ilustra essa situação em dados simulados. Veja que a curva linear apresenta um subajuste muito forte aos dados, passa longe do ideal. A curva roxa modela perfeitamente os dados de treinamento, mas erra muito nos dados de teste. E a curva azul, não modela perfeitamente os dados de treinamento, mas é o que melhor generaliza para os dados de teste, com uma medida de RMSE consideravelmente melhor do que as alternativas.

 

Fontes

 

Tags: | | |

Sobre o Autor

Ricardo Rocha
Ricardo Rocha

Olá! Atualmente, sou docente do magistério superior na Universidade Federal da Bahia. Atuo na área de Estatística Computacional junto ao Departamento de Estatística do Instituto de Matemática e Estatística da UFBA. Aqui na FLAI, atuo como colaborador na produção de conteúdos gratuitos. Fique a vontade para entrar em contato, você pode utilizar qualquer uma das redes sociais abaixo!

1 Comentário

  1. Legal !!!.
    A resposta da 7 sai mais fácil que eu imaginei !!!! tinha pesando em algo parecido a probabilidade conjunta dos três sendo cada um como probabilidade condicional resposta/chuva algo parecido como teste falso/positivo.


Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *