Séries de cursos de R no Coursera e no EdX

Ola.
Esse post é só para compartilhar duas séries de cursos que acho bem interessante, para aprender mais sobre análise de dados e R.

Primeiro, no Coursera, a John Hopkins University está oferecendo uma série de cursos, na forma de uma especialização em Data Science.

São nove cursos no total, que tem duração de uma semana cada um. Os tópico de cada curso são bem específicos, mas eles se complementam muito bem, principalmente porque eles não são apenas sobre análise de dados, mas englobam todas as partes do processo de análise de dados.

Por exemplo, a gente tem o curso “Getting data and Cleaning data“. Esse curso achei muito legal, porque ele mostra varias formas de ler dados no R, das mais variadas fontes. Na maioria dos cursos que a gente faz, que eu fiz na faculdade pelo menos, a gente acaba ficando limitado a ler dados de arquivos do tipo delimitados por tabulações, e arquivos delimitados por vírgulas, e raramente a gente ainda entra no porque existe um read.csv e um read.csv2 no R. E essas coisas a gente vê nesse curso, ainda como abrir dados diretos do excel, que é talvez o lugar mais comum aonde os dados estão guardados na biologia em geral, mas também como ler dados de banco de dados sql, arquivos xml e páginas html, além de como ajeitar os dados, com o plyr por exemplo, e ler arquivos muito grandes, onde a read.table da vida pode falhar, já que ele tem que ler os dados e dar um parse neles, então ele ocupa bastante memoria.

Outro curso muito legal dessa série é o “Exploratory Data Analysis“, que ensina a fazer gráficos bonitos, além de esclarecer bastante coisas sobre como salvar e exportar os gráficos de várias formas, e usar o gráficos do tipo lattice, que quando os dados começam a ter muitas variáveis, começa a ficar mais difícil de representar graficamente, mas o lattice é uma mão na roda. Além de ver o ggplo2, que faz gráficos muito bonitos também, tem uma série de ferramentas legais, para fazer várias coisas bacanas, e que no final a gente acaba precisando para pelo menos conseguir ler código de outras pessoas, por mais que você prefira ou não usar o sistema base para gráficos. E gráficos são essenciais, quando alguém quer me mostrar alguma coisa, ou pede ajuda, eu sempre tento fazer alguma figura primeiro, para começar a entender o problema, nós, como seres visuais, ganhamos muito fazendo gráficos, e toda habilidade para fazer eles melhores é valida.

Não vou falar de todos os cursos aqui, mas a forma de avaliação também é bem interessante, porque além dos quizzes, perguntas de múltipla escolha para avaliação, todos praticamente envolvem alguma atividade prática, que você tem que fazer algum tipo de análise e escrever um relatório, que normalmente é usando R Markdown (um exemplo meu aqui, o relatório final do curso Practical Machine Learning, que tem que ser entregue num repositório do github), ou programar alguma coisa, como gráficos dinâmicos usando Shinny (minha primeira figura do shinny nesse repositório).
Isso é muito legal porque você recebe um feedback de pessoas, vê o trabalho de outros alunos para comparar, que vária de coisas ruins e erradas até trabalhos excepcionais, que faz você se perguntar porque a pessoa está fazendo o curso se está naquele nível tão avançado de conhecimento.

Os cursos recomeçam todo mês praticamente, então da pra fazer de um em um, ou mais de um por vez, e se não conseguir acompanhar, é só começar denovo, tendo a possibilidade de pagar para receber um certificado verificado, o que não deve ser muito útil no Brasil, mas eu pagaria somente pela qualidade do material (mas minha situação financeira não anda boa hehe).

Antes desses cursos, eu fiz um monte de cursos do pessoal da John Hopkins, e eles tem melhorado cada vez mais na qualidade dos cursos, acho que de tanto oferecer disciplinas no coursera, eles estão cada vez fazendo cursos mais legais, e num formato legal para atender o público em geral.

Bem, desde o ano passado eu comecei a tentar alguns cursos no EdX também, que é uma plataforma de ensino massivo online como o Coursera, mas que começou com o MIT e Harvard, talvez para competir com a popularidade do Coursera, que foi fundado por dois professores de Standford, Andrew Ng and Daphne Koller.

Bem o EdX tem muitos cursos que envolvem matemática, por causa do MIT provavelmente, que é bem legal para quem curte, mas ele abriu uma série de curso sobre R também, que são do professor Rafael Irizarry, uma coisa legal é que esse cara era professor la no mesmo departamento do povo que da os cursos da John Hopkins no Coursera, mas ele mudou para Havard, ai foi parar no EdX.

Mas ele vai dar uma série de cursos no EdX, todos usando R para análise de dados, começando com o Statistics and R for the Life Sciences, e na descrição desse curso, você pode ver os oito cursos que fazem parte dessa série. São mais coisas de análise para bioinformática, mas pode ser um boa oportunidade de aprender mais sobre o biocondutor, que é um projeto bem grande junto com o R.
Eu estou no primeiro curso, mas está parecendo bem interessante, é bem simples até, mas vale a pena seguir, até para seguir a série e ver a linha de raciocínio dele, e praticar.

Bem já que estamos falando de EdX, outros dois cursos que fiz la, que achei muito legais são o de Introdução ao Linux, muito legal para aprender as coisas que todo mundo acha que você sabe e você não tem ideia, pelo menos nos livros, as pessoas assumente sempre um conhecimento de linux que eu pelo menos nunca aprendi formalmente. Mas esse curso é bem básico, simples, mas ao mesmo tempo legal, ensinando pequenas coisas como pipes e sistema de arquivos do linux de uma forma que da para entender bem, além do que o curso é oferecido pela Linux Foundation. Outro curso é o Quantitative Biology Workshop que é uma salada mista de tópicos, mas bem legal para ver a matemática aplicada a biologia, eu já fiz até um tópico sobre um modelinho que vi neste curso aqui, mas ele, como um monte de curso do EdX, é feito usando Matlab, mas com um pouco de paciência, da para encarar o Matlab, e ir traduzindo o código para o R para conseguir fazer outras coisas, ou mesmo só porque é legal.

Bem as vezes são raros os cursos sobre análise de dados ou R que podemos participar, seja por tempo para estar presente em aulas, seja por falta de grana para viajar para onde esses cursos são ofertados, seja por disponibilidade de professores ou cursos mesmo nas instituições, então esses cursos online do tipo MOOC são uma grande oportunidade, tenho feito cursos assim a algum tempo e eu acho bem legal, o acesso que é proporcionado por eles, por exemplo, você ter aulas de caras muito bons na área, com uma ótima didática, já que as universidades não desviar um professor ruim para montar um curso desses, até porque eles são também uma propaganda da instituição, e o fato de que você pode falhar nos cursos sem grandes problemas, enquanto se você falha num curso na pós-graduação por exemplo, você pode perder até bolsa de estudos, dependendo das normas dos cursos, num MOOC ninguém nem precisa ficar sabendo. Mas na especialização em data science do coursera por exemplo, eu desiste de vários cursos várias vezes, antes de terminar, talvez porque as vezes eu era ganancioso e queria fazer muitos cursos de uma vez, e não dava conta de acompanhar tudo, ou porque perdia prazos de entregar os exercícios, mesmo o relatório mais simples, não da para fazer em uma hora, eu não consegui! E sempre da para aprender muito nas discussões nos fóruns de mensagens desses cursos.

Mas é isso ai, só queria comentar as possibilidades de cursos legais sobre R que tem por ai, pelo menos que eu conheço. Além do que eu acho cursos assim mais dinâmicos de ler livros de cara, a informação vem mais mastigadinha. Assim quando a gente vai ler um livro sobre o assunto, ou um artigo científico, tudo começa a ficar mais fácil de digerir, com a boa base que esses cursos vão dando, mas é claro que não podemos ficar somente neles. Mas eu sempre tento acompanhar pelo menos um curso, é sempre legal.

Até o próximo post, e qualquer sugestão de curso, ou oportunidade legal de aprendizado, deixa um comentário ou mande um e-mail, que eu quero saber 🙂

Outro exemplo do paradoxo de Simpson.

Exemplos são sempre muito legais para ajudar a entender melhorar as coisas e esse aqui eu acho bem legal.

Suponha que você é o reitor ou reitora de uma universidade e existe uma suspeita que existe um desvio na razão sexual entre alunos que ingressam na universidade.

Para verificar se essa suspeita é verdadeira, você pega os dados referentes ao número de candidatos e aprovados de alguns cursos.

Começando com engenharia, a gente vê o seguinte:

, , curso = Engenharia sexo status Feminino Masculino Aprovados 80 450 Candidatos 100 900

Aqui temos para engenharia uma tabelinha resumindo os dados, então temos o número de candidatos e sexo de cada um.
Bem, o indice de aprovação das meninas é bem alto, 80%, se pegarmos o numero de aprovados e dividirmos pelo número de candidatos obtemos essa razão. Ja não podemos dizer o mesmo para os meninos, que nesse caso, 450 alunos de 900 foram aprovados. Uma razão 0.5, ou seja apenas 50% dos candidatos estão ingressando, bem inferior a frequência com que meninas são aprovadas. Tudo bem mas engenharia tem um número de candidatos maior do sexo masculino do que do sexo feminino, vamos olhar um curso de humanas para ver se temos algo diferente.

, , curso = Humanas sexo status Feminino Masculino Aprovados 180 10 Candidatos 900 100

Certo, aqui temos muito mais candidatas que candidatos, e vamos ver como estão as frequências de aprovação, aqui temos 900 candidatas e 180 aprovadas, isso da 20% de aprovação, dividindo 180 por 900 da 0.2 e multiplicando por 100 temos 20%. Ja para os meninos temos apenas 10% de aprovação, dos 100 candidatos apenas 10 entraram no curso.

Observamos dois cursos aqui e aparentemente em ambos as meninas tem um indice de aprovação muito maior que dos meninos, quase o dobro dos meninos sempre. Parece que existe sim um desvio na razão sexual, mas mulheres tem uma taxa de aprovação muito superior a dos homens.

No entanto essa conclusão pode não expressar toda a verdade.

Caso realizemos a mesma conta ignorando o curso, temos a seguinte tabela:

sexo status Feminino Masculino Aprovados 260 460 Candidatos 1000 1000

Agora se fizermos a mesma conta aqui, temos que a frequência de aprovação das meninas é de apenas 26% no total, contra 46% dos meninos, o sexo masculino tem praticamente o dobro de Aprovados que mulheres, mesmo que estas tenha uma aprovação superior em todos os cursos que observamos. Muito estranho não? Mas isso é um efeito conhecido como paradoxo de Simpson que ja vimos aqui anteriormente.

O que acontece é que existe uma interação entre o sexo e o curso, então apesar de em todos os cursos as mulheres obterem maior indice de aprovação, no geral existe mais homens entrando nessa universidade que mulheres, quase o dobro, e o desvio da razão sexual esta beneficiando pessoas do sexo masculino na verdade.

E é possível verificar isso apenas apresentando de forma diferente a mesma tabela, os mesmo dados e a mesma contagem.

Isso traz a tona um fato interessante, que é, nem sempre tudo que parece é, nem sempre a conclusão obvia é a que realmente vai trazer a decisão certa. Se houve-se uma politica para melhorar os indices de aprovação masculino nos cursos que estão deficientes, com certeza diminuiríamos a números muitos baixos a população feminina na sua universidade. Mas sem uma observação mais minuciosa dos dados, somos passiveis de sermos enganados facilmente para tomar essa decisão. Talvez incentivar um maior numero de mulheres a se inscreverem e tentar ingressar na universidade traria a razão sexual da universidade a 1:1.

Esse exemplo eu vi no curso de introdução a estatística do udacity, nesse link aqui. Um cursinho bem legal onde o professor assume um conhecimento básico das quatro operações básicas da matemática, então qualquer pessoa pode acompanhar sem problemas, uma excelente introdução para quem não sabe absolutamente nada e odeio cursos onde as pessoas só te ensinam distribuições e valores p.

Até a próxima. E como não tenho nenhum gráfico aqui para esse post, ficamos com a tirinha sobre o teorema de bayes do xkcd publicado essa semana 🙂

seashell

dados<-data.frame(
curso=c("Engenharia","Engenharia","Engenharia","Engenharia","Humanas","Humanas","Humanas",
"Humanas"),
status=c("Candidatos","Candidatos","Aprovados","Aprovados","Candidatos","Candidatos","Aprovados","Aprovados"),
sexo=c("Masculino","Feminino","Masculino","Feminino","Masculino","Feminino","Masculino",
"Feminino"),
n=c(900,100,450,80,100,900,10,180))
 
#Tabela por curso
xtabs(n~status+sexo+curso,data=dados)
 
#Tabela independente do curso
xtabs(n~status+sexo,data=dados)

Curso gratuito básico sobre o R

StatFact é um dos milhares de twitters que o John Cook mantém.

Eu comecei a seguir ele depois que vi que várias pessoas da lista R-Br seguem ele e alguns do milhares de twitters dele.

Nesse twitter ele posta quase todo dia uma dica sobre estatística, alguns fatos, artigos interessantes, discussões que tem desdobramentos interessantes em foruns ou blogs.

Essa semana ele postou um link legal, a editora O’Reilly mantém um site chamado Code School e que agora tem um cursinho de introdução ao R.

É bem legal, bem básico, ensina a criar vetores, matrizes e dataframes, como acessar e manipular eles de forma básica, e da uma idéia de como são feitos gráficos. Para quem tem uma noção de R vale a pena dar uma olhada para rever o básico. Eu mesmo sempre encalho fazendo script em coisas básicas.

Para quem não tem noção do que diabos é o R, é bem legal também, já que tudo é feito do navegador, então você não tem que instalar nada, so olhar o site. Fazer todos os comandos de janelinhas e ficar com uma noção do que é o R e como ele é usado.

O endereço do curso é http://tryr.codeschool.com/. Vale a pena a uma horinha investida, e da para logar da sua conta do facebook, então se todo mundo reclama de aplicativos de facebook, esse é legal e ensina a usar o R.

E da para aproveitar e ver o curso sobre o github para entender melhor como ele funciona, é uma excelente forma de controle de versão.

Para fechar, existe também o coursera, que administra vários moocs de muitas universidades, e em janeiro tem um curso sobre R que deve ser muito bom, Data Analysis com Jeff Leek, deve valer muito a pena participar e podemos ser companheiros de curso 🙂