Fungsi Jendela Seri Waktu Pengoperasian dalam Wawancara Ilmu Data

Ilmuwan data menangani data deret waktu setiap hari dan kemampuan untuk memanipulasi dan menganalisis data ini adalah bagian penting dari tugas tersebut. Fungsi jendela SQL memungkinkan Anda melakukan ini sendiri dan merupakan pertanyaan wawancara ilmu data yang umum. Jadi mari kita bicara tentang data deret waktu, waktu untuk menggunakannya, dan bagaimana menerapkan fungsi untuk membantu mengelola data deret waktu.

Apa itu Data Seri Kali?

Data deret waktu adalah variabel dalam data Anda yang memiliki komponen waktu. Ini berarti bahwa setiap nilai dalam atribut ini memiliki nilai tanggal atau waktu, terkadang keduanya memiliki keduanya. Berikut adalah beberapa contoh data deret waktu:

• Harga saham harian untuk sebuah perusahaan karena setiap harga saham dikaitkan dengan hari tertentu

• Nilai indeks saham rata-rata harian selama beberapa tahun terakhir karena setiap nilai dipetakan pada hari tertentu

• Kunjungan unik ke situs web selama sebulan

• Pendaftaran platform harian

• Penjualan dan pendapatan bulanan

• Masuk harian untuk aplikasi

Fungsi Jendela LAG dan LEAD

Saat menangani data deret waktu, perhitungan yang biasa dilakukan adalah menghitung pertumbuhan atau rata-rata dari waktu ke waktu. Ini berarti Anda harus mengambil tanggal yang akan datang atau tanggal sebelumnya dan nilai yang terkait.

Dua fungsi WINDOW yang memungkinkan Anda untuk mengaksesnya adalah LAG dan LEAD, yang sangat berguna untuk menangani data terkait waktu. Perbedaan utama antara LAG dan LEAD adalah bahwa LAG mendapatkan data dari baris sebelumnya, sedangkan LEAD sebaliknya, mengambil data dari baris berikutnya.

Kita dapat menggunakan salah satu dari dua fungsi untuk membandingkan pertumbuhan bulan ke bulan sebagai contoh. Sebagai seorang profesional analis data, kemungkinan besar Anda bekerja pada data terkait waktu, dan jika Anda dapat menggunakan LAG atau LEAD secara efisien, Anda akan menjadi ilmuwan data yang sangat produktif.

Pertanyaan Wawancara Ilmu Data yang Membutuhkan Fungsi Jendela

Mari kita bahas pertanyaan wawancara sql ilmu data lanjutan yang terkait dengan fungsi jendela ini. Anda akan melihat fungsi jendela biasanya menjadi bagian dari pertanyaan wawancara tetapi Anda juga akan melihat banyak dalam pekerjaan sehari-hari Anda sehingga penting untuk mengetahui cara menggunakannya.

Mari kita baca pertanyaan dari Airbnb yang berjudul Pertumbuhan Airbnb. Jika Anda ingin mengikuti secara interaktif, Anda dapat melakukannya di sini.

Pertanyaannya adalah memperkirakan pertumbuhan Airbnb setiap tahun menggunakan jumlah tuan rumah yang terdaftar sebagai metrik pertumbuhan. Tingkat pertumbuhan dihitung dengan mengambil ((jumlah host yang terdaftar pada tahun ini – jumlah host yang terdaftar pada tahun sebelumnya) / jumlah host yang terdaftar pada tahun sebelumnya) * 100.

Hapus tahun, jumlah host di tahun ini, jumlah host di tahun sebelumnya, dan tingkat pertumbuhan. Bulatkan tingkat pertumbuhan ke persentase terdekat dan urutkan hasilnya dalam urutan menaik menurut tahun.

Pendekatan Langkah 1: Hitung tuan rumah untuk tahun berjalan

Langkah pertama adalah menghitung host berdasarkan tahun jadi kita perlu mengurangi tahun dari nilai tanggal.

PILIH ekstrak (tahun

DARI host_sejak :: tanggal) SEBAGAI tahun,

hitung (id) saat_tahun_host

DARI airbnb_search_details

DI MANA hos_sejak TIDAK NULL

KELOMPOK BERDASARKAN EKSTRAK (tahun

DARI host_sejak :: tanggal)

ORDER BERDASARKAN TAHUN

Pendekatan Langkah 2: Hitung tuan rumah untuk tahun sebelumnya.

Di sinilah Anda akan menggunakan fungsi jendela LAG. Di sini Anda akan membuat tampilan di mana kita memiliki tahun, jumlah host di tahun ini, dan kemudian jumlah host dari tahun sebelumnya. Gunakan fungsi lag untuk hitungan tahun sebelumnya dan ambil nilai tahun lalu dan letakkan di baris yang sama dengan hitungan tahun ini. Dengan cara ini Anda akan memiliki 3 kolom dalam tampilan Anda – tahun, jumlah host tahun ini dan jumlah host tahun lalu. Fungsi LAG memungkinkan Anda untuk dengan mudah menarik jumlah host tahun lalu di baris Anda. Ini memudahkan Anda untuk menerapkan metrik apa pun seperti tingkat pertumbuhan karena Anda memiliki semua nilai yang Anda butuhkan dalam satu baris agar SQL dapat menghitung metrik dengan mudah. Berikut kode untuk itu:

PILIH tahun,

host_current_year,

LAG (current_year_host, 1) OVER (ORDER BY year) SEBAGAI prev_year_host

DARI

(Pilih ekstrak

DARI host_sejak :: tanggal) SEBAGAI tahun,

hitung (id) saat_tahun_host

DARI airbnb_search_details

DI MANA hos_sejak TIDAK NULL

KELOMPOK BERDASARKAN EKSTRAK (tahun

DARI host_sejak :: tanggal)

BISNIS BERDASARKAN TAHUN) t1) t2

Pendekatan 3: Menerapkan metrik pertumbuhan

Seperti yang disebutkan sebelumnya, jauh lebih mudah untuk menerapkan metrik seperti di bawah ini ketika semua nilai berada dalam satu baris. Inilah mengapa Anda mengimplementasikan fungsi LAG. Lakukan putaran perhitungan tingkat pertumbuhan (((host_year_current – prev_year_host)/(cast (prev_year_host US numerik)))*100) estimasi_pertumbuhan

PILIH tahun,

host_current_year,

host_year_the_year,

bulat (((host_current_year – host_previous_year)/(cast (host_previous_year US figure)))*100)

DARI

(PILIH tahun,

host_current_year,

LAG (current_year_host, 1) OVER (ORDER BY year) SEBAGAI prev_year_host

DARI

(Pilih ekstrak

DARI host_sejak :: tanggal) SEBAGAI tahun,

hitung (id) saat_tahun_host

DARI airbnb_search_details

DI MANA hos_sejak TIDAK NULL

KELOMPOK BERDASARKAN EKSTRAK (tahun

DARI host_sejak :: tanggal)

BISNIS BERDASARKAN TAHUN) t1) t2

Leave a comment

Your email address will not be published. Required fields are marked *