Bagikan melalui


Nilai hilang (Analysis Services - Penggalian Data)

Berlaku untuk: SQL Server 2019 dan Analysis Services Azure Analysis Services Fabric/Power BI Premium sebelumnya

Penting

Penambangan data tidak digunakan lagi pada SQL Server 2017 Analysis Services dan sekarang dihentikan di SQL Server 2022 Analysis Services. Dokumentasi tidak diperbarui untuk fitur yang tidak digunakan lagi dan dihentikan. Untuk mempelajari selengkapnya, lihat Kompatibilitas mundur Analysis Services.

Menangani nilai yang hilang dengan benar adalah bagian penting dari pemodelan yang efektif. Bagian ini menjelaskan nilai yang hilang, dan menjelaskan fitur yang disediakan dalam SQL Server Analysis Services untuk bekerja dengan nilai yang hilang saat membangun struktur penambangan data dan model penambangan.

Definisi Nilai yang Hilang dalam Penggalian Data

Nilai yang hilang dapat menandakan sejumlah hal yang berbeda. Mungkin bidang tidak berlaku, peristiwa tidak terjadi, atau data tidak tersedia. Bisa jadi orang yang memasukkan data tidak tahu nilai yang tepat, atau tidak peduli jika bidang tidak diisi.

Namun, ada banyak skenario penggalian data di mana nilai yang hilang memberikan informasi penting. Arti dari nilai yang hilang sangat tergantung pada konteks. Misalnya, nilai yang hilang untuk tanggal dalam daftar faktur memiliki arti yang sangat berbeda dari kurangnya tanggal dalam kolom yang menunjukkan tanggal sewa karyawan. Umumnya, SQL Server Analysis Services memperlakukan nilai yang hilang sebagai informatif dan menyesuaikan probabilitas untuk memasukkan nilai yang hilang ke dalam perhitungannya. Dengan demikian, Anda dapat memastikan bahwa model seimbang dan tidak berat kasus yang ada terlalu berat.

Oleh karena itu, SQL Server Analysis Services menyediakan dua mekanisme yang berbeda untuk mengelola dan menghitung nilai yang hilang. Metode pertama mengontrol penanganan null pada tingkat struktur penambangan. Metode kedua berbeda dalam implementasi untuk setiap algoritma, tetapi umumnya menentukan bagaimana nilai yang hilang diproses dan dihitung dalam model yang mengizinkan nilai null.

Menentukan Penanganan Null

Di sumber data Anda, nilai yang hilang mungkin diwakili dalam banyak cara: sebagai null, sebagai sel kosong dalam spreadsheet, sebagai nilai N/A atau beberapa kode lainnya, atau sebagai nilai buatan seperti 9999. Namun, untuk keperluan penambangan data, hanya null yang dianggap sebagai nilai yang hilang. Jika data Anda berisi nilai tempat penampung alih-alih null, data tersebut dapat memengaruhi hasil model, jadi Anda harus menggantinya dengan null atau menyimpulkan nilai yang benar jika memungkinkan. Ada berbagai alat yang dapat Anda gunakan untuk menyimpulkan dan mengisi nilai yang sesuai, seperti transformasi Pencarian atau tugas Profiler Data di SQL Server Integration Services, atau alat Isi Menurut Contoh yang disediakan di Add-Ins Penggalian Data untuk Excel.

Jika tugas yang Anda model menentukan bahwa kolom tidak boleh memiliki nilai yang hilang, Anda harus menerapkan bendera pemodelan NOT_NULL ke kolom saat Anda menentukan struktur penambangan. Bendera ini menunjukkan bahwa pemrosesan harus gagal jika kasus tidak memiliki nilai yang sesuai. Jika kesalahan ini terjadi saat memproses model, Anda dapat mencatat kesalahan dan mengambil langkah-langkah untuk memperbaiki data yang diberikan ke model.

Penghitungan Status Hilang

Untuk algoritma penggalian data, nilai yang hilang bersifat informatif. Jika tabel, Hilang adalah status yang valid seperti yang lain. Selain itu, model penggalian data dapat menggunakan nilai lain untuk memprediksi apakah nilai hilang. Dengan kata lain, fakta bahwa nilai hilang bukanlah kesalahan.

Saat Anda membuat model penambangan, status Hilang secara otomatis ditambahkan ke model untuk semua kolom diskrit. Misalnya, jika kolom input [Jenis Kelamin] berisi dua nilai yang mungkin, Laki-laki dan Perempuan, nilai ketiga secara otomatis ditambahkan untuk mewakili nilai Hilang , dan histogram yang menunjukkan distribusi semua nilai untuk kolom selalu menyertakan hitungan kasus dengan nilai Hilang . Jika kolom Jenis kelamin tidak kehilangan nilai apa pun, histogram menunjukkan bahwa status Hilang ditemukan dalam 0 kasus.

Alasan untuk menyertakan status Hilang secara default menjadi jelas ketika Anda menganggap bahwa data Anda mungkin tidak memiliki contoh semua nilai yang mungkin, dan Anda tidak ingin model mengecualikan kemungkinan hanya karena tidak ada contoh dalam data. Misalnya, jika data penjualan untuk toko menunjukkan bahwa semua pelanggan yang membeli produk tertentu kebetulan adalah wanita, Anda tidak ingin membuat model yang memprediksi bahwa hanya wanita yang dapat membeli produk. Sebaliknya, SQL Server Analysis Services menambahkan tempat penampung untuk nilai ekstra yang tidak diketahui, yang disebut Hilang, sebagai cara untuk mengakomodasi kemungkinan status lain.

Misalnya, tabel berikut menunjukkan distribusi nilai untuk simpul (Semua) dalam model pohon keputusan yang dibuat untuk tutorial Pembeli Sepeda. Dalam skenario contoh, kolom [Pembeli Sepeda] adalah atribut yang dapat diprediksi, di mana 1 menunjukkan "Ya" dan 0 menunjukkan "Tidak".

Nilai Kasus
0 9296
1 9098
Tidak ada 0

Distribusi ini menunjukkan bahwa sekitar setengah dari pelanggan telah membeli sepeda, dan setengahnya belum. Himpunan data khusus ini sangat bersih; oleh karena itu, setiap kasus memiliki nilai di kolom [Pembeli Sepeda], dan jumlah Nilai yang hilang adalah 0. Namun, jika ada kasus yang null di bidang [Pembeli Sepeda], SQL Server Analysis Services akan menghitung baris tersebut sebagai kasus dengan nilai Hilang.

Jika input adalah kolom berkelanjutan, model akan menabulasikan dua kemungkinan status untuk atribut: Ada dan Hilang. Dengan kata lain, kolom berisi nilai beberapa jenis data numerik, atau tidak berisi nilai. Untuk kasus yang memiliki nilai, model menghitung rata-rata, simpangihan standar, dan statistik bermakna lainnya. Untuk kasus yang tidak memiliki nilai, model menyediakan hitungan vales hilang dan menyesuaikan prediksi yang sesuai. Metode untuk menyesuaikan prediksi berbeda tergantung pada algoritma dan dijelaskan di bagian berikut.

Catatan

Untuk atribut dalam tabel berlapis, nilai yang hilang tidak informatif. Misalnya, jika pelanggan belum membeli produk, tabel Produk berlapis tidak akan memiliki baris yang sesuai dengan produk tersebut, dan model penambangan tidak akan membuat atribut untuk produk yang hilang. Namun, jika Anda tertarik pada pelanggan yang belum membeli produk tertentu, Anda dapat membuat model yang difilter pada tidak adanya produk dalam tabel berlapis, dengan menggunakan pernyataan NOT EXISTS di filter model. Untuk informasi selengkapnya, lihat Menerapkan Filter ke Model Penambangan.

Menyesuaikan Probabilitas untuk Status Hilang

Selain menghitung nilai, SQL Server Analysis Services menghitung probabilitas nilai apa pun di seluruh himpunan data. Hal yang sama berlaku untuk nilai Hilang . Misalnya, tabel berikut menunjukkan probabilitas untuk kasus dalam contoh sebelumnya:

Nilai Kasus Peluang
0 9296 50.55%
1 9098 49.42%
Tidak ada 0 0,03%

Mungkin tampak aneh bahwa probabilitas nilai Hilang dihitung sebagai 0,03%, ketika jumlah kasus adalah 0. Bahkan, perilaku ini dirancang, dan mewakili penyesuaian yang memungkinkan model menangani nilai yang tidak dikenal dengan anggun.

Secara umum, probabilitas dihitung sebagai kasus yang menguntungkan dibagi dengan semua kemungkinan kasus. Dalam contoh ini, algoritma menghitung jumlah kasus yang memenuhi kondisi tertentu ([Pembeli Sepeda] = 1, atau [Pembeli Sepeda] = 0), dan membagi jumlah tersebut dengan jumlah total baris. Namun, untuk memperkirakan kasus Hilang , 1 ditambahkan ke jumlah semua kasus yang mungkin. Akibatnya, probabilitas untuk kasus yang tidak diketahui tidak lagi nol, tetapi angka yang sangat kecil, menunjukkan bahwa status hanya tidak mungkin, bukan tidak mungkin.

Penambahan nilai kecil Hilang tidak mengubah hasil prediktor; namun, ini memungkinkan pemodelan yang lebih baik dalam skenario di mana data historis tidak menyertakan semua kemungkinan hasil.

Catatan

Penyedia penggalian data berbeda dalam cara mereka menangani nilai yang hilang. Misalnya, beberapa penyedia mengasumsikan bahwa data yang hilang dalam kolom berlapis adalah representasi jarang, tetapi data yang hilang dalam kolom yang tidak berlapis hilang secara acak.

Jika Anda yakin bahwa semua hasil ditentukan dalam data Anda dan ingin mencegah probabilitas disesuaikan, Anda harus mengatur bendera pemodelan NOT_NULL pada kolom dalam struktur penambangan.

Catatan

Setiap algoritma, termasuk algoritma kustom yang mungkin telah Anda peroleh dari plug-in pihak ketiga, dapat menangani nilai yang hilang secara berbeda.

Penanganan Khusus Nilai yang Hilang dalam Model Pohon Keputusan

Algoritma Pohon Keputusan Microsoft menghitung probabilitas untuk nilai yang hilang secara berbeda dari dalam algoritma lainnya. Alih-alih hanya menambahkan 1 ke jumlah total kasus, algoritma pohon keputusan menyesuaikan untuk status Hilang dengan menggunakan rumus yang sedikit berbeda.

Dalam model pohon keputusan, probabilitas status Hilang dihitung sebagai berikut:

StateProbability = (NodePriorProbability)* (StateSupport + 1) / (NodeSupport + TotalStates)

Algoritma Pohon Keputusan menyediakan penyesuaian tambahan yang membantu algoritma mengimbangi keberadaan filter pada model, yang dapat mengakibatkan banyak status dikecualikan selama pelatihan.

Pada SQL Server 2017, jika status ada selama pelatihan tetapi kebetulan tidak memiliki dukungan dalam simpul tertentu, penyesuaian standar dilakukan. Namun, jika status tidak pernah ditemui selama pelatihan, algoritma menetapkan probabilitas ke nol persis. Penyesuaian ini tidak hanya berlaku untuk status Hilang , tetapi juga untuk status lain yang ada dalam data pelatihan tetapi tidak memiliki dukungan sebagai hasil pemfilteran model.

Penyesuaian tambahan ini menghasilkan rumus berikut:

StateProbability = 0,0 jika status tersebut memiliki 0 dukungan dalam set pelatihan

ELSE StateProbability = (NodePriorProbability)* (StateSupport + 1) / (NodeSupport + TotalStatesWithNonZeroSupport)

Efek bersih dari penyesuaian ini adalah untuk menjaga stabilitas pohon.

Topik berikut ini menyediakan informasi selengkapnya tentang cara menangani nilai yang hilang.

Tugas Tautan
Menambahkan bendera ke kolom model individual untuk mengontrol penanganan nilai yang hilang Menampilkan atau Mengubah Bendera Pemodelan (Penggalian Data)
Mengatur properti pada model penambangan untuk mengontrol penanganan nilai yang hilang Mengubah Properti Model Penambangan
Pelajari cara menentukan bendera pemodelan di DMX Bendera Pemodelan (DMX)
Mengubah cara struktur penambangan menangani nilai yang hilang Mengubah Properti Struktur Pertambangan

Lihat juga

Konten Model Penambangan (Analysis Services - Penggalian Data)
Bendera Pemodelan (Penggalian Data)