Analisa Trend Data Time Series Dengan “Indexing” Excel

Data time series adalah salah satu jenis data paling sering kita temukan, ciri-cirinya adalah adanya time stamp atau penanda waktu di salah satu kolom datanya. Hal yang ingin kita ketahui dari data time series adalah perubahan data dari waktu ke waktu, jika kita memiliki beberapa variable, maka kita juga ingin tahu bagaimana kedua variable tersebut berubah nama kerennya autokorelasi, namun jika kita memiliki informasi dimensi atau group atau kelompok, kita ingin membandingkan apakah kelompok yang satu lebih baik dari kelompok yang lain. itu lah beberapa contoh informasi yang dapat kita dapatkan dengan menganalisa data time series.

Saya selalu menekankan bahwa mulailah analisa data dengan analisa deskriptif. Salah satu contohnya adalah teknik eksplorasi dengan visualisasi data, tentu saja dengan teknik visualisasi yang benar maka kita dapat mendapatkan informasi dengan mudah dan menarik kesimpulan dengan benar.

Untuk itu saya sudah mengunduh data time series dari https://timeseries.weebly.com/data-sets.html silahkan unduh file “visitor.csv”.

Berikut sample datanya

DateAustraliaChinaJapanUnited Kingdom
1998Q4202881089593813831
1999Q1220471492692523271
1999Q214362145043539756
1999Q315775155168557899
1999Q4212092020621615778
2000Q1252612364706125362
2000Q2158912541441711618
2000Q317117272975058553
2000Q4227613292677817512
2001Q1275393771816929409
2001Q2178673529529012008

Langkah pertama yang anda lakukan adalah melakukan “text to columns” untuk merapikan data agar bisa di olah dengan excel. Bagi yang belum paham, silahkan tanyakan di kolom komentar.. nanti saya ajarin. Ok lanjut.

Setelah data sudah berbentuk seperti diatas, maka kita akan membuat chart yang cocok dengan data time series, yakni line chart. Maka hasilnya sebagai berikut:

Dari chart diatas kita dapat melihat bahwa visitor di Australia paling tinggi, di ikuti oleh UK dst. Namun satu hal yang tidak sukai dari chart ini… sangat tidak indah, coba bandingkan dengan chart berikut.

Langkah: Remove Y-axis, Pilih “Smoothed line”, tampilkan series name dan value, remove grid line

Bagaimana menurut anda? Chart mana yang lebih layak anda tampilkan di power point anda? Dari data absolut value kita sudah mendapatkan beberapa informasi seperti nilai tertinggi, negara mana yg menyalip negara yg lain dsb. Namun jika ada pertanyaan, negara mana dengan pertumbuhan tertinggi?? Dari chart diatas negara mana jawabannya? Ok simpan jawaban anda ya..

Untuk menjawab pertanyaan ini kita akan memodifikasi datanya dengan menggunakan teknik indexing. Indexing adalah membagi value dari data ke suatu titik yang kita inginkan bisa ke data pertama, data terakhir, data sebelumnya data setelahnya dll. Gunanya adalah untuk membandingkan perubahan data seiring dengan waktu terhadap posisi yg sama sehingga memberikan gambaran seberapa besar “growth” atau pertumbuhannya… dengan menggunakan absolut data, kita akan kesulitan terutama jika value dari satu data jauh lebih besar dari data yang lain. Dapat anda lihat bahwa Jepang dan China hampir tidak terlihat fluktuasi nya karena series yang kita gunakan rangenya besar karena data Australia yg nilai data absolutnya besar..

Nah dengan sekarang buat lah kolom baru dengan formula bagi data dengan data pertama.

Index to First
DateAustraliaChinaJapanUnited Kingdom
1998Q41111
1999Q11,0867014981,3700642791,1662175821,682524763
1999Q20,7079061511,3314967860,7330751090,70537199
1999Q30,7775532331,4242424241,1544291010,57110838
1999Q41,0453962931,8549127641,046817111,140770732
2000Q11,2451202682,1707988981,1891209161,83370689
2000Q20,7832708992,3333333330,7438531490,839997108
2000Q30,843700712,5059687791,2638935670,618393464
2000Q41,1218947163,0229568411,1414617721,266141277
2001Q11,3574033913,4628099171,3757157292,126310462

Lalu dengan data yang baru ini buatlah line chart baru.

Bagaimana tebakan anda tadi? Benar atau Salah?

Kemungkinan kita menjawab bahwa Australia yang lebih tinggi pertumbuhannya sangat tinggi karena memang hanya data Australia dan UK yg “terlihat jelas” di chart data absolut. namun dengan menggunakan indexing kita bisa melihat bahwa visitor ke China lah yang memiliki pertumbuhan paling pesat sedangkan negara yang lain cenderung memiliki pertumbuhan yang sama.

Bagaimana dengan teknik baru kita kali ini? Semoga berguna dalam melaksanakan pekerjaan dan tugas masing-masing. Silahkan share, comment dan subscribe…

Never stop learning!

Kudos, Rahmat (Author)

Basic Data Science Knowledge Part 2: Control Structure, Function dan Class

Dalam menuliskan code di python, adakalanya kita menghadapi perhitungan yg membutuhkan pengulangan. Nah sebagaimana di dalam bahasa pemrograman yg lain, di python juga ada cara melakukan looping untuk lebih mengefisienkan langkah kerja kita.

for i in range(20):
if i%3 == 0:
print i
if i%5 == 0:
print “Bingo!”
print “—“

Di python kita harus memperhatikan indentasi, jika indentasi kita tidak sesuai dengan format python maka proses looping tidak akan perjalan.

Function digunakan juga untuk mempermudah query yang kita buat. Jika kita mempunyai perhitungan yang cukup kompleks namun kita gunakan berulang-ulang maka ada baiknya kita menggunakan function untuk menyimpan perhitungan tadi.

>def kali(x,y):
z=x*y
return z

>kali(5,3)

15

Class

Jika kita membutuhkan sebuah environment yg terlepas dari environment default nya python. Maka salah satu cara untuk melakukan itu adalah dengan menggunakan class. Contoh penggunaan class adalah sebagai berikut

Contoh Class

class Product:
__vendor_message = “Ini adalah rahasia”
name = “”
price = “”
size = “”
unit = “”

def __init__(self, name):
print “Ini adalah constructor”
self.name = name
self.unit = “Gb”
self.size = 10

def get_vendor_message(self):
print self.__vendor_message

def set_price(self, price):
self.price = price

p = Product(“xtra combo”)
p.set_price(55000)

print “%s dengan ukuran %s %s harganya Rp. %d” % (p.name, p.size, p.unit, p.price)
# print p.__vendor_message

p.get_vendor_message()

p1 = Product(“xtra combo”)
p1.set_price(5000)

print “%s dengan ukuran %s %s harganya Rp. %d” % (p.name, p.size, p.unit, p.price)

Source for function: https://www.petanikode.com/tutorial/python

 

 

 

 

 

 

Basic Data Science Knowledge: Python (Part 1)

Python saat ini menjadi tren bahasa yg paling banyak digunakan dalam dunia data science. Walaupun ada bagian-bagian yang masih belum bisa menggantikan R, namun integrasinya dengan ekosistem HADOOP ini lah yang membuatnya menjadi sangat terkenal. Well, tulisan ini hanya catatan pribadi sebagai pengingat dan contekan kalau-kalau lupa.

Saya menginstall python dengan sepaket dengan hanya mendownload anaconda, jadi ringkas di dalamnya ada spyder, jupyter dkk buat GUI nya. Secara personal saya lebih suka menggunakan Jupyter karena formatnya yang mirip dengan R-markdown style di R studio.

Untuk show datanya kita bisa menggunakan

>print (“Hello world”)

Untuk menambahkan komentar bisa menggunakan

> # Ini komentar

Komentar sering bgt saya pakai sebagai pengingat alasan saya menggunakan query tsb. Juga sangat berguna jika query saya digunakan oleh orang lain.

List

Di python sangat flexible kita bisa bikin array yang isinya campur-campur kayak gini.

> a=[99,”cahaya”,[“dilangit”,”eropa”]]

Untuk slicer dari list juga cukup mudah, kita bisa menggunakan index yg selalu dimulai dari 0.

>a[0] hasilnya adalah 99

Berikut contoh lain

>b=range(5)

[0, 1, 2, 3, 4]

>b.append(5)

[0, 1, 2, 3, 4, 5, 5]

>b.pop() #untuk mengetahui jumlah data

5

Dictionary atau Associative Array

Cirinya tidak menggunakan index namun menggunakan keys sehingga kita melakukan fungsi seperti lookup. Keys yg digunakan di dictionary ini sifatnya IMMUTABLE yang artinya tidak boleh diubah-ubah

d = {“duck”: “eend”, “water”: “water”}
d

{'duck': 'eend', 'water': 'water'}

Cara lookupnya

d[“duck”]

‘eend’

Tuple

Hal lain yg perlu dikenal di python adalah tuple. Ciri-cirinya adalah menggunakan kurung ( ) untuk membentuk tuple. Sifat dari tuple juga IMMUTABLE  artinya isinya tidak bisa diubah-ubah.

nama =(‘rahmat’, ‘hid’)
nama

('rahmat', 'hid')

Jika ubah isi tuple nya, maka hasilnya adalah ERROR.

nama[0]=’coding’

Error bla bla xxxx– karena tuple tidak support item assignment

Tuple bisa berisi value, list ,dictionary, object, dan lain-lain.

Variable

variable juga jenis wadah untuk menyimpan value, di python kita tidak perlu melakukan DECLARE variable. Kita bisa langsung membuat variable dan mengisinya dengan value yg kita inginkan. Perbedaannya variable isinya bisa dirubah-rubah.

Pada dasarnya semua hal adalah variable baik itu class, modul maupun fungsi.

var=”isi dengan nilai”
var

'isi dengan nilai'

Kayaknya ini dulu saja untuk yg basic, lagi-lagi tulisan ini buat pengingat saja. Cara paling efektif adalah coba langsung ya guys.