Kursus
Data Science Versus Statistik
Menurut infografik “Belajar Data Science dalam 8 (Langkah Mudah)” kami, salah satu langkah pertama untuk belajar data science adalah memahami statistik, matematika, dan machine learning dengan baik.
Jika Anda masih ingat, langkah berikutnya adalah belajar cara membuat kode.
Tetapi setelah Anda menguasai Python yang Anda perlukan untuk melakukan data science, saatnya untuk mengokohkan pengetahuan yang telah Anda peroleh.
Topik statistik untuk data science yang dirujuk blog ini dan disertai sumber daya meliputi:
Daftar ini tidak mencakup semua statistik yang digunakan dalam data science, tetapi dimaksudkan untuk membantu Anda memulai. :)
Ngomong-ngomong, jika Anda masih mencari cara untuk mulai belajar Python untuk data science, Anda sebaiknya mempertimbangkan mengikuti kursus Intro to Python For Data Science kami. Kursus ini akan membantu Anda menerapkan statistik dengan Python.
Belajar statistik untuk data science sangatlah praktis, dan karena itu Anda tidak boleh lupa untuk juga (terus) berfokus pada praktik konsep teoretis yang mungkin sudah Anda pelajari di awal perjalanan data science Anda.
Tetapi apa sebenarnya perbedaan antara statistik dan data science?
Keduanya sering dianggap sama, dan ada yang mengatakan tidak ada perbedaan dan bahwa data scientist sebenarnya adalah seorang ahli statistik.
Namun pada akhirnya, jika Anda kesampingkan pendapat-pendapat tersebut sejenak, kebanyakan orang dapat sepakat bahwa statistik adalah salah satu komponen inti yang digunakan dalam data science dan merupakan salah satu komponen utamanya.
Statistik dengan Python
Postingan hari ini akan berfokus pada cara Anda belajar statistik dengan Python. Termasuk topik analisis statistik yang perlu Anda jelajahi dalam perjalanan data science Anda menggunakan Python.
Mengapa Python?
R adalah tempat yang baik untuk memulai statistik. R dikembangkan untuk komputasi dan grafik statistik, jadi R menawarkan banyak paket statistik kepada penggunanya. Di sisi lain, Python adalah bahasa tujuan umum yang memiliki banyak aplikasi.
Namun, Anda juga dapat menggunakan Python untuk statistik.
Beberapa orang mengatakan bahwa mereka menggunakan Python karena performanya atau karena Python juga bisa melakukan banyak hal yang dapat dilakukan R.
Tetapi, pada intinya, bahasa pemrograman ini semakin populer, dan jumlah paket yang dapat digunakan untuk data science jelas meningkat dalam beberapa tahun terakhir.
Singkatnya, ada banyak alasan untuk menggunakan Python dalam analisis statistik.
Alat yang pada akhirnya Anda pilih akan bergantung pada jenis analisis yang ingin Anda lakukan.
Jadi, apakah Anda siap untuk mulai belajar statistik di Python?
PS. Jika Anda juga mencari sumber daya untuk belajar statistik untuk R atau R, silakan lihat kursus terbuka DataCamp atau Intro to Statistics With R.

Statistik & Teori Probabilitas Python
Topik pertama yang sebaiknya Anda tangani adalah statistik dan teori probabilitas. Tidak hanya ada cukup banyak video dan kursus yang dapat membantu Anda, tetapi juga ada banyak buku (cetak) yang akan membantu Anda memulai statistik di Python.
Pengenalan Statistik dengan Python
Untuk pengenalan statistik, tutorial ini dengan contoh kehidupan nyata adalah pilihan yang tepat. Notebook dalam tutorial ini akan memperkenalkan Anda pada konsep seperti mean, median, standar deviasi, dan dasar-dasar topik seperti pengujian hipotesis dan distribusi probabilitas.
Cara yang bagus untuk memulai belajar statistik, karena terinspirasi oleh buku "Think Bayes" dan "Think Stats", yang merupakan dua rekomendasi utama yang akan disebutkan lagi di bawah!
Jika Anda mencari buku, Anda bisa mencoba buku gratis ini tentang statistik komputasional di Python, yang tidak hanya berisi pengantar pemrograman dengan Python, tetapi juga membahas topik seperti Markov Chain Monte Carlo, algoritma Expectation-Maximization (EM), metode resampling, dan banyak lagi.
Atau Anda bisa membeli buku ini oleh Thomas Haslwanter untuk pengenalan umum pada uji statistik yang umum, analisis regresi linear, serta topik dari analisis survival dan statistik Bayesian. Perlu dicatat bahwa buku ini mengambil ilmu kehidupan dan kedokteran sebagai area penerapannya.
Kedua buku di atas juga sudah memperkenalkan Anda pada topik statistik yang lebih lanjut dengan Python, seperti yang Anda lihat.
Jika Anda penggemar video, pertimbangkan menonton tutorial ini tentang analisis data statistik dengan SciPy bersama Christopher Fonnesbeck, Asisten Profesor di Departemen Biostatistik, Vanderbilt University School of Medicine. Ada juga video ini tentang statistik inferensial dan eksploratori dengan Python oleh Gaël Varoquaux. Video terakhir ini menggunakan paket Python Pandas dan StatsModels.
Anda akan melihat bahwa sumber-sumber ini cukup umum untuk membantu Anda memulai statistik di Python.
Jika Anda mencari sumber daya yang akan dengan cepat membuat Anda mahir dengan dasar-dasar statistik, Anda harus melihat kursus DataCamp Statistical Thinking in Python yang diajarkan oleh Justin Bois. Anda akan diperkenalkan pada konsep seperti Exploratory Data Analysis (EDA), varians dan kovarians, mean dan median, distribusi probabilitas, dan banyak lagi.
Teori Probabilitas dengan Python
Teori probabilitas juga sangat penting untuk dipertimbangkan saat Anda belajar statistik dengan Python. Ini adalah analisis fenomena acak. Artinya, hasil dari kejadian acak apa pun bersifat non-deterministik: dapat berupa salah satu dari beberapa kemungkinan hasil, dan hasil akhirnya ditentukan oleh peluang.
Teori probabilitas memuat asal-usul konseptual dari statistik.
Sumber daya yang disebutkan di atas memberikan pengantar umum ke statistik dan, dalam beberapa kasus juga membahas teori probabilitas (yang tampak masuk akal mengingat hal di atas), namun ada juga sumber daya yang secara eksklusif berfokus pada topik ini.
Anda juga dapat melihat sumber-sumber berikut:
Salah satu rekomendasi teratas adalah kursus Computational Probability and Inference dari EdX. Kursus praktis ini, diajarkan oleh instruktur MIT, akan membuat Anda nyaman dengan prinsip-prinsip probabilitas dan inferensi.
Anda juga harus membaca buku gratis ini, yang ditulis oleh Profesor Brian Blais, sebuah buku teks pengantar inferensi statistik yang dimotivasi oleh teori probabilitas sebagai logika.
Distribusi Probabilitas Python
Untuk benar-benar belajar statistik dengan Python untuk data science, Anda juga harus mengembangkan intuisi yang baik tentang kapan suatu distribusi digunakan. Distribusi adalah daftar atau fungsi yang menunjukkan semua nilai atau interval yang mungkin dari data dan seberapa sering kemunculannya.
Dan, jika Anda melihat daftar ini, Anda akan melihat bahwa ada cukup banyak distribusi yang perlu dipertimbangkan.
Untuk pengantar distribusi probabilitas uniform, normal, binomial, dan Poisson dengan SciPy, Anda dapat melihat posting blog ini.
Rekomendasi utama adalah bab keempat dalam buku “Think Stats: Probability and Statistics for Programmers”, yang akan memperkenalkan Anda pada distribusi kontinu. Namun, bab kelima juga akan memberi Anda pengantar yang solid ke distribusi probabilitas.
Untuk memvisualisasikan distribusi, Anda dapat menggunakan histogram, di antaranya. Jika Anda ingin gambaran cepat, Anda dapat melihat IPython notebook ini, yang akan memberi Anda pengantar singkat ke statistik deskriptif dengan nilai mean, kuantil, dan histogram serta keterkaitannya. Untuk mempelajari lebih lanjut tentang cara memvisualisasikan distribusi, Anda dapat melihat tutorial Seaborn ini.
Juga ada tutorial plotly ini tentang statistik dasar di Python.
Perhatikan bahwa jika Anda ingin mengikuti kursus yang membahas beberapa distribusi, seperti binomial dan Poisson, serta fungsi distribusi seperti empirical cumulative distribution function, atau kursus yang akan mengajarkan Anda cara memvisualisasikan distribusi-distribusi ini, Anda dapat melihat kursus DataCamp Statistical Thinking in Python.

Pengujian Hipotesis Python
Uji hipotesis adalah uji statistik yang digunakan untuk menentukan apakah ada cukup bukti dalam sampel data untuk menyimpulkan bahwa kondisi tertentu benar untuk seluruh populasi.
Dua konsep utama dari uji ini adalah hipotesis nol dan hipotesis alternatif, tetapi p-value juga fundamental untuk pengujian hipotesis. Hal-hal ini sangat sulit dipahami saat Anda baru di bidang ini, dan akan memerlukan upaya untuk memahami nilai alfa atau tingkat signifikansi untuk p-value Anda dan apa yang membedakan antara menolak atau gagal menolak hipotesis nol.
Anda akan menemukan sebuah tutorial di situs pustaka SciPy yang membahas secara singkat p-value dan estimasi.
Kuliah SciPy ini akan memperkenalkan Anda pada uji t, yang dapat Anda gunakan untuk menguji hipotesis dengan menganalisis rata-rata dua populasi. Anda juga dapat merujuk ke posting blog ini jika Anda ingin mengeksplorasi uji t.
Jika Anda ingin membaca buku, rekomendasi utama buku “Think Stats: Probability and Statistics for Programmers” tetap relevan juga untuk pengujian hipotesis. Bab ketujuh akan mengajarkan Anda semua tentang pengujian hipotesis jika Anda belum mempelajari bab-bab lain untuk memahami distribusi.
Bagi mereka yang mencari kursus, Statistical Thinking in Python (Part 2) dari DataCamp menawarkan pengantar dan contoh uji agar Anda memperoleh pengetahuan dan latihan yang diperlukan tentang pengujian hipotesis dan masih banyak lagi.
Pemodelan dan Fitting Statistik di Python
Sekarang setelah Anda memahami pengujian hipotesis dan distribusi, Anda dapat terlebih dahulu meninjau atau memperdalam cara membuat model statistik dan melakukan fitting distribusi ke data.
Model statistik mendekati apa yang menghasilkan data Anda dan dapat digunakan dalam analisis data untuk meringkas data, membuat prediksi, dan melakukan simulasi. Dengan kata lain, ini adalah representasi fenomena kompleks yang menghasilkan data, dan yang dapat digunakan untuk ringkasan, prediksi, atau simulasi.
Namun, ini berarti Anda juga perlu dapat mengetahui apakah data Anda cocok dengan model tersebut.
Untuk memberikan kecocokan terbaik antara model dan data, estimasi dapat digunakan. Estimasi berkaitan dengan membuat inferensi tentang suatu populasi, berdasarkan informasi yang diperoleh dari sampel. Selain pengujian hipotesis, ini adalah cara untuk mempelajari sesuatu tentang populasi dari sampel.
Tutorial ini memperkenalkan Anda pada topik fitting dengan bantuan pustaka Python SciPy.
Pemodelan data statistik dan fitting juga merupakan bab dalam tutorial analisis statistik ini, disusun dalam notebook dan dibuat oleh Christopher Fonnesbeck. Nama ini sekarang pasti terdengar familiar!
Bagi yang lebih menyukai video, tutorial ini juga tersedia di Youtube dalam empat film dan membahas topik seperti estimasi (Maximum Likelihood dan Method of Moments).
Anda dapat melihat video tutorial ini di sini.
Ngomong-ngomong, jika Anda ingin mengetahui lebih lanjut tentang Maximum Likelihood Estimation untuk klasifikasi pola statistik, jangan lewatkan IPython notebook ini atau notebook ini yang menjelaskan cara menghitung estimasi ini untuk berbagai distribusi. Notebook ini adalah bagian dari repositori klasifikasi pola yang dibuat oleh Sebastian Raschka, yang juga memiliki repositori lain untuk buku Python Machine Learning-nya.
Machine Learning dengan Python
Dan dengan saran terakhirnya untuk buku Machine Learning, Anda mungkin bertanya-tanya: bukankah postingan ini tentang statistik?
Betul.
Dan bukan berarti machine learning dan statistik itu sama, tetapi keduanya mengajukan pertanyaan yang sama: bagaimana kita bisa belajar dari data?
Juga, teknik machine learning dan statistik sering digunakan, misalnya, dalam pengenalan pola atau penambangan data.
Machine learning adalah alat yang cukup berguna dalam kotak peralatan data science Anda. Topiknya cukup luas, dan Anda bisa menghabiskan banyak waktu untuk memahami konsep dan algoritmenya.
Itulah mengapa lebih baik Anda mulai sekarang!
Tetapi tidaklah mudah menentukan dari mana harus memulai karena topiknya begitu luas dan ada banyak sumber daya untuk mahir dalam machine learning di Python.
Kursus machine learning umum yang diajarkan oleh Andrew Ng cukup teoretis, tetapi tetap direkomendasikan jika Anda ingin terlebih dahulu mendekati konsep dan algoritme utama dari sudut pandang teoretis.
Namun, ada juga banyak sumber daya yang lebih praktis yang dapat membantu Anda memulai.
Sumber-sumber berikut hanyalah beberapa di antaranya:
Pengantar machine learning dengan SciPy yang ringan ini akan membantu Anda berada di jalur yang benar. Tutorial ini ideal bagi mereka yang ingin menyegarkan pengetahuan statistik dasar dan membangunnya. Kyle Kastner membimbing Anda ke estimasi parameter, regresi, estimasi model, dan klasifikasi dasar.
Jika Anda ingin buku untuk mendekati topik ini, Anda dapat melihat IPython Interactive Computing and Visualization Cookbook. Bab kedelapan memberi Anda pengantar konsep-konsep dasar machine learning dan mengilustrasikan algoritme seperti regresi logistik, Naive Bayes, K-nearest neighbors, Support Vector Machines, random forests, dan lainnya. Cookbook ini menggunakan paket Scikit-learn untuk contohnya.
Jika Anda ingin tutorial pengantar Scikit-learn untuk machine learning, pergi ke sini.
Juga, jangan lewatkan tutorial ini tentang classifier Naive Bayes.
Analisis Regresi dengan Python
Regresi tentu tidak boleh Anda lewatkan ketika berbicara tentang statistik untuk data science. Ini adalah proses statistik untuk memperkirakan hubungan antar variabel.
Untuk memahami bagaimana Anda dapat melakukan regresi dengan Python, Anda harus terlebih dahulu memulai dengan mempelajari materi tentang regresi linear.
Tetapi lihat tutorial ini terlebih dahulu: ini membahas analisis regresi menggunakan paket StatsModels dengan Quandl. Tutorial ini pertama-tama menjelaskan berbagai jenis regresi yang ada dan kemudian menyediakan contoh praktis.
Kemudian, pelajari tutorial regresi linear ini untuk latihan lebih lanjut.
Setelah itu, Anda dapat beralih ke regresi non-linear. Untuk tutorial tentang regresi ridge dan lasso di Python, Anda dapat melihat tutorial Analytics Vidhya ini. Artikel tersebut menggunakan pustaka Python NumPy, Pandas, Matplotlib, dan Scikit-learn untuk menjelaskan dengan jelas cara mendekati topik ini.
Ada juga tutorial notebook yang bagus tentang regresi logistik yang dapat Anda temukan di sini.
Juga, jangan lewatkan posting blog Yhat ini tentang regresi logistik dengan Rodeo.

Pemikiran & Pemodelan Bayesian di Python
Statistik Bayesian adalah teori yang mengekspresikan bukti tentang keadaan sebenarnya dunia dalam bentuk derajat keyakinan yang dikenal sebagai probabilitas Bayesian. Terkadang, Anda akan ingin mengambil pendekatan Bayesian terhadap masalah data science.
Apa arti tepatnya akan menjadi jelas dalam seri pengantar lima bagian yang sangat baik ini yang akan memperkenalkan Anda pada frequentism dan Bayesianism.
Namun, jika Anda lebih menyukai buku, Anda dapat melihat “Think Bayes: Bayesian Statistics in Python”. "Bayesian Methods For Hackers" adalah sumber hebat lainnya untuk pengantar inferensi Bayesian. Dua buku yang wajib dibaca bagi siapa pun yang ingin mulai dengan pemikiran dan pemodelan Bayesian!
Atau, jika Anda menginginkan pengantar dalam sebuah notebook, Anda dapat melalui tutorial ini, yang memperkenalkan Anda pada teorema Bayes.
Jangan lewatkan juga tutorial ini tentang Analisis Statistik Bayesian di Python dan video Youtube pendampingnya yang akan memperkenalkan Anda pada statistik Bayesian, Markov chain Monte Carlo, PyMC, Pemodelan Hierarkis, serta pengecekan dan validasi model.
Untuk tutorial tentang fitting model Bayesian di Python, Anda harus melihat IPython Notebook ini dan video YouTube pendamping, yang merupakan kuliah oleh Jake VanderPlas di ESAC Data Analysis and Statistics Workshop 2014.
Jika Anda ingin menggunakan kembali sumber daya, Anda dapat melihat IPython Interactive Computing and Visualization Cookbook, yang mungkin sudah Anda gunakan untuk melihat Machine Learning. Bab ketujuh buku ini membahas analisis data statistik tetapi berfokus pada metode frequentist dan Bayesian untuk pengujian hipotesis, estimasi parametrik dan nonparametrik, serta inferensi model.
Di sini ada tutorial tentang PyMC, modul Python yang mengimplementasikan model statistik Bayesian dan algoritme fitting, termasuk Markov Chain Monte Carlo (MCMC). Juga, tutorial ini, di mana Anda akan belajar cara mengimplementasikan model regresi linear Bayesian dengan PyMC3, layak untuk dilihat.
Rantai Markov
Sederhananya, rantai Markov adalah sistem matematis yang melompat dari satu "keadaan" ke keadaan lainnya. Keadaan-keadaan ini dapat berupa suatu situasi atau sekumpulan nilai. Artinya, Anda memiliki daftar keadaan yang tersedia dan, di atas itu, rantai Markov memberi tahu Anda probabilitas melompat, atau "bertransisi", dari satu keadaan ke keadaan lainnya.
Beberapa sumber yang disebutkan di atas sudah memperkenalkan Anda pada topik ini.
Selain sumber-sumber tersebut, Anda mungkin juga ingin menonton video ini: ini adalah tutorial yang menggunakan simulasi Monte Carlo dan resampling, antara lain, untuk mengeksplorasi pengujian hipotesis dan pemodelan statistik. Ini bisa menjadi cara yang baik untuk mengokohkan pengetahuan Anda sebelum masuk ke rantai Markov.
Juga, buku Computational Statistics in Python akan memberi Anda wawasan tentang Rantai Markov. Ini adalah pengantar yang sangat bagus ke Markov Chain Monte Carlo.
Mulai Belajar Statistik di Python
Daftar ini hanya untuk membantu Anda memulai. Anda akan melihat bahwa banyak sumber saling tumpang tindih atau Anda mungkin menemukan sumber lain di luar sana. Pastikan beri tahu kami di Twitter!
Bagaimanapun, tidak ada alasan untuk menunda lebih lama lagi untuk mulai belajar statistik dengan Python.
