Özel Harvard profesörleri R dili kaynak kodunu açar, size R ile gif animasyonları yapmayı öğretir

Orijinal başlık: Eğitim giflerim için kod

Yazar: Rafael Irizarry

Çeviri: Jia Lin

Bu makalenin uzunluğu 1800 kelime , Okumanız tavsiye edilir 4 dakika

Rafael Irizarry, Harvard Üniversitesi ve Dana-Farber Kanser Enstitüsü'nde uygulamalı istatistik profesörüdür. Genomik üzerine odaklanır ve çeşitli veri bilimi dersleri verir. Bu makalede, derslerinde kullanılan gif animasyonunun R dili kaynak kodunu açıkladı ve ayrıca veri biliminin ilkelerini anlamak isteyen okuyucular için ilgili birkaç konuyu ve görselleştirme için R dilini nasıl kullanacağını kısaca tartıştı. Tüm yardım.

Günlük öğretim sürecinde bazen kavramları canlı bir şekilde açıklamak ve @rafalab hesabı (https://twitter.com/rafalab) üzerinden sosyal medyada paylaşmak için animasyon kullanıyorum.

John Storey geçenlerde bana kaynak kodunu herkese açık hale getirip getiremeyeceğimi sordu. Çok organize olmadığım ve bu animasyonların hepsi beyin fırtınası yapıldığından, önceki kodlar birbiriyle ilgisiz birkaç dosyaya dağılmış durumda. John'un isteği, bu kodları bir araya getirip burada yayınlamamı istedi.

Tüm gif animasyonları, R dilinde çizilmiş birkaç resimle birleştirilmiştir. Kodda bulabileceğiniz gibi, tek tek resimleri animasyonlu giflere dönüştürmek için birkaç farklı yöntem kullandım. İlk yöntem (önerilmez), görüntü dosyasını depolamak ve ardından ImageMagick dönüştürme aracını (https://www.imagemagick.org/script/index.php) çağırmaktır. R ortamında, şu anda kullandığım yöntem animasyon paketinin saveGIF işlevidir ve bu, Simplystats blogumdaki okuyucu Yihui Xie'nin yorumlarıyla öğrendim. Ggplot ile çizim yaparken, David Robinson'ın gganimate paketini (https://github.com/dgrtwo/gganimate) kullanacağım. Son yöntem, özel efektler (faz ayarı gibi) eklerken kullanacağım şey: çevrimiçi Hareketli GIF oluşturucu (https://ezgif.com/maker).

Aşağıda bu gif animasyonlarının kaynak kodu yer almaktadır, kabaca bunları popülerliğe göre sıraladım. Kod aceleyle yazıldığı için lütfen bana çok sert davranmayın. Aslında dilediğiniz zaman eleştirebilirsiniz, biz böyle öğreniriz.

Simpson Paradoksu

Bu gif, Simpson paradoksunu göstermektedir: X değişkeni ile Y değişkeninin güçlü bir negatif korelasyona sahip olduğunu görüyoruz. Bununla birlikte, karıştırıcı faktör Z değişkeniyle katmanlaştığımızda ve Z'yi temsil etmek için farklı renkler kullandığımızda, her katmandaki korelasyon pozitif bir korelasyona dönüştürülecektir. Buradaki veriler hayal ürünüdür, ancak X'in bir öğrencinin derse kaç kez katıldığını ve Y'nin dokuzuncu sınıfın test puanını temsil ettiğini ve ardından sekizinci sınıfın Z test puanının öğrencileri sınıflandırmak için kullanıldığını varsayalım. Bu fenomeni de bulacağız.

Bu hareketli resim yalnızca üç resimden oluşmaktadır. Bunları kaydetmek için RStudio'nun Dışa Aktarma işlevini kullanıyorum ve ardından GIF oluşturmak için Animasyonlu GIF oluşturucuyu (https://ezgif.com/maker) kullanıyorum. Bu üç resmin kodu aşağıdadır:

Yerel Ağırlıklı Regresyon Dağınık Düzeltme Yöntemi (Loess)

Paylaştığım ilk öğretim animasyonu, yerel ağırlıklı regresyon saçılım yumuşatma (Loess) ilkesini açıklamaktı. Özellikle, x0 gibi her bağımsız değişken için, yakındaki herhangi bir nokta için pozitif bir ağırlıklandırma değerine sahip olmasına izin verin, bir çizgiye sığdırmak için ağırlıklı regresyon kullanın, uydurmadan sonra elde edilen sonucu koruyun ve ardından bir sonraki noktaya geçin .

Buradaki veri kaynağı belli bir gen çip deneyidir. Şekilde gösterilen MA grafiği, yani orantılı logaritma ile logaritmik ortalama arasındaki ilişki. GIF animasyonlarını kaydetmek için animasyon paketini kullanıyorum.

Yaşam beklentisi ve doğurganlık oranı

Bu gif, Hans Rosling'in (https://en.wikipedia.org/wiki/ Hans_Rosling) "Yoksulluk Üzerine Yeni Görüşler" (https://www.ted.com / talks / hans_rosling_reveals_new_insights_on_poverty? language = tr)). Bu resim, yanlış anlamaların ortadan kaldırılmasında veri görselleştirmenin rolünün iyi bir göstergesidir.Hans Rosling, dünyayı ikiye bölmenin 40 yıl önceki kadar basit olmadığını göstermek için bu hareketli resmi kullanıyor. Önceleri, insanlar genel olarak dünyayı daha uzun yaşam sürelerine ve daha küçük aile nüfusuna sahip Batı zengini ülkelere ve daha kısa yaşam sürelerine ve daha büyük aile nüfusuna sahip gelişmekte olan ülkelere böldüler.Bu resim bize bu bölünmenin mantıksızlığını gösteriyor.

Gganimate paketi sayesinde, bu resmi çizmek için kullanılan kod çok basit.

Birleşmiş Milletler seçim modeli

Burada, uzaklık kavramını açıklamak için Erik Voeten ve Anton Strezhnev tarafından sağlanan BM seçim verilerini kullanıyoruz.

Aşağıdaki koddur. Verileri düzenleme kodu David Robinson (https://twitter.com/drob) tarafından sağlanmaktadır. Zamanla değişen mesafeyi düzelttiğimizi göreceksiniz, böylece bazı noktaların çok geniş atlamasını önleyeceksiniz.

Rastgele orman

Geçmişte uzun bir süredir, ağaç tabanlı bir algoritma olarak rastgele ormanın neden düzgün tahminler üretebileceğini anlamakta zorlandım. Buradaki gif resmi nedenini anlamama yardımcı oluyor. 2008 başkanlık seçiminin veritabanını kullandım çünkü verilerin eğiliminin genel olarak düzgün olduğunu düşünüyorum, ancak birkaç keskin kenar var, hatta yerel ağırlıklı regresyon dağılım düzeltme yöntemini tahmin etmek zor. Unutulmamalıdır ki, sadece bir etki faktörümüz vardır Bu gif rastgele ormanın başka bir önemli özelliğini göstermez: rastgele özellik seçimi ağaçlar arasındaki korelasyon derecesini azaltabilir.

Kodda kullandığım yöntemin, önermediğim geleneksel yol olduğunu görebilirsiniz: tüm görüntü dosyalarını kaydedin ve sonra dönüştürmek için system komutunu çağırın.

Ekolojik yanlışlık

Simpson'ın Paradoksunun animasyonunu paylaştıktan sonra, bazı insanlar bana ekolojik yanlışlığın aynı olup olmadığını sordu. Aslında ikisi farklı. Ekolojik yanılgı, ortalamanın güçlü korelasyonu yoluyla bireyler arasındaki korelasyonu çıkarmaya çalışmamızdır. Daha iyi açıklamak için, yenidoğan sağkalım oranının logaritmasını ve ortalama günlük gelirin logaritmasını gösteren animasyonlu bir grafik çizmek için dslabs paketindeki ( gapminder verilerini kullandım. Arasındaki ilişki. Bölgesel düzeyde ikisi arasındaki ilişkinin çok yüksek olduğu ancak ulusal düzeyde korelasyonun çok düşük olduğu görülmektedir. Bu, aynı bölgedeki ülkeler arasındaki farklılıklardan kaynaklanmaktadır.

GIF

Bu gif sadece üç resimden oluşmaktadır. Resimleri kaydetmek için RStudio'nun Dışa Aktarma işlevini ve ardından GIF oluşturmak için Hareketli GIF oluşturucuyu (https://ezgif.com/maker) kullanıyorum.

İlk resim bölgesel ortalama; Sahra altı Afrika ülkelerinin değerleri, bir ortalamanın birkaç farklı değere bölündüğünü görebilirsiniz; üçüncü resim ise tüm ülkelerin durumudur. Çok değişen (bu bölgeye kıyasla) bazı ülkeleri işaretledim ve renk körlüğüyle tanınabilecek renkler kullandım. Buradaki kod biraz karmaşık çünkü Gapminder verilerini önceden işlemem gerekiyor.

Bayes Kanunu

Bu basit GIF, çok düşük insidansa sahip bir popülasyona çok doğru bir teşhis yönteminin uygulanmasının tanı sonucunu göstermektedir. Gösterdiği şey, teşhis sonucunun pozitif olduğu bilindiğinde önceki hastalık olasılığının, teşhis yönteminin başlangıç test doğruluğundan daha düşük olmasıdır. Gerçek koşullu olasılığı belirlemek için Bayes Yasasını kullanabilirsiniz. Daha fazla ayrıntı için lütfen buraya bakın (https://simplystatistics.org/2014/10/17/bayes-rule-in-a-gif/).

GIF

Dinamik grafikler yaptığımız için, kod biraz karmaşık ve anlaşılması zor.

Pacman

Son olarak, bu animasyonu size pasta grafiklerinin tek kullanımını göstermek için yaptım.

GIF

Orijinal bağlantı:

https://simplystatistics.org/2017/08/08/code-for-my-education-gifs/

Editör: Huang Jiyan

Daha fazla heyecan için lütfen Tsinghua-Qingdao Veri Bilimi Enstitüsü WeChat resmi kamu platformu "THU Data Pie" sayfasını takip edin

Genel eğilim, Çin tarımının İnternet ve teknolojiyle bütünleşme yönünde gelişmesidir.
önceki
Süper Lig'de 94 dakikalık geri sayım! 31 yaşından önce boş kaleye girmeyen milli takım 2 dakika sonra sert vurdu.
Sonraki
Beijing Cloud Base ve Lieyun.com, "AI +" roadshow özelliğine odaklanıyor, 7 roadshow projesi yeni yayınlandı
Yetenek Avcılığına İlişkin Büyük Veri Raporu: Sınıf konsolidasyonunun işyeri hareketliliği nedeniyle kırılması bekleniyor
"Hacksaw Ridge'in Kan Savaşı" nın ardında, ölümcül şiddetin kökleri insan genlerinde yatmaktadır
Maodou.com: WeChat'in 60 saniyelik ses sınırını aşın ve içerik girişimcilerine yardımcı olmak için sesli canlı yayın araçlarını kullanın
24 saniyede sarı kart gördü! Süper Lig'de harika bir sahne olan U23 genci, insanları şaşkına çeviren bir hareket yaptı!
"Double 11" 10 yılda insanların yaşam tarzını değiştirdi ve bunu yaşayanlar bize bilmediğini anlattı.
GIF-Çin Süper Ligi'nde başka bir çatışma var! Zhang Wenzhao büyük isimdeki yabancı yardımı neredeyse devirdi ve birçok kişi hakemin etrafını sardı
Özel | Rastgele Orman Öğretimi
İzlanda halkı dünyanın en sıcak deliğini açtı ve magmadan enerji istedi
1996 günlerini bekledim! Sonunda Süper Lig'de ilk gollerini attılar ve seyirci insanlarla doluydu!
Veri bilimi ortamına genel bir bakış: yasalar, algoritmalar, problem türleri ...
Double Eleven'dan önce, geleneksel iş bölgeleri iş için rekabet ediyor
To Top