Tuesday, June 12, 2018

Visualisasi Matplotlib - Visualizing Errors

Untuk setiap pengukuran ilmiah, perhitungan akurat untuk kesalahan hampir sama pentingnya, jika tidak lebih penting, daripada pelaporan akurat dari angka itu sendiri. Sebagai contoh, bayangkan bahwa saya menggunakan beberapa pengamatan astrofisika untuk memperkirakan Konstan Hubble, pengukuran lokal tingkat ekspansi alam semesta. Saya tahu bahwa literatur saat ini menunjukkan nilai sekitar 71 (km / s) / Mpc, dan saya mengukur nilai 74 (km / s) / Mpc dengan metode saya. Apakah nilai-nilai itu konsisten? Satu-satunya jawaban yang benar, mengingat informasi ini, adalah ini: tidak ada cara untuk mengetahuinya.

Misalkan saya menambah informasi ini dengan ketidakpastian yang dilaporkan: literatur saat ini menunjukkan nilai sekitar 71 ± 2,5 (km / s) / Mpc, dan metode saya telah mengukur nilai 74 ± 5 (km / s) / Mpc. Sekarang, apakah nilai-nilainya konsisten? Itu adalah pertanyaan yang dapat dijawab secara kuantitatif.

Dalam visualisasi data dan hasil, menunjukkan kesalahan ini secara efektif dapat membuat plot menyampaikan informasi yang jauh lebih lengkap.

Untuk kode program silahkan dosenload di sini https://drive.google.com/open?id=1QCmzedWE03OHi0-NOXGNTfNv7Zzbqe3H

Basic Errorbars
Errorbars dasar dapat dibuat dengan satu panggilan fungsi Matplotlib:

%matplotlib inline
import matplotlib.pyplot as plt
plt.style.use('seaborn-whitegrid')
import numpy as np

x = np.linspace(0, 10, 50)
dy = 0.8
y = np.sin(x) + dy * np.random.randn(50)

plt.errorbar(x, y, yerr=dy, fmt='.k');
Di sini, fmt adalah kode format yang mengontrol tampilan garis dan titik, dan memiliki sintaksis yang sama dengan singkatan yang digunakan dalam plt.plot, yang diuraikan dalam Line Plots dan Scatter Plots.

Selain opsi dasar ini, fungsi errorbar memiliki banyak opsi untuk menyempurnakan output. Menggunakan opsi tambahan ini Anda dapat dengan mudah menyesuaikan estetika plot kesalahan Anda. Saya sering merasa berguna, terutama dalam plot yang padat, untuk membuat errorbar lebih terang daripada titiknya:

plt.errorbar(x, y, yerr=dy, fmt='o', color='black',
             ecolor='lightgray', elinewidth=3, capsize=0);
Selain opsi ini, Anda juga dapat menentukan horizontal errorbars (xerr), one-side errorbars, dan banyak varian lainnya. Untuk informasi lebih lanjut tentang opsi yang tersedia, lihat doctring plt.errorbar.

Continuous Errors
Dalam beberapa situasi, diinginkan untuk menunjukkan errorbars pada kuantitas terus menerus. Meskipun Matplotlib tidak memiliki rutinitas bawaan yang terintegrasi untuk aplikasi jenis ini, namun relatif mudah untuk menggabungkan cara primitif seperti plt.plot dan plt.fill_between untuk hasil yang bermanfaat.

Di sini kita akan melakukan regresi proses Gaussian sederhana, menggunakan API Scikit-Learn. Ini adalah metode pemasangan fungsi non-parametrik yang sangat fleksibel untuk data dengan ukuran ketidakpastian yang terus menerus. Kami tidak akan menyelidiki rincian regresi proses Gaussian pada titik ini, tetapi akan berfokus pada bagaimana Anda dapat memvisualisasikan pengukuran kesalahan kontinu seperti itu:



lanjut lain waktu ....

No comments:

Post a Comment