Saya memiliki bingkai data dalam python di mana saya perlu menemukan semua variabel kategori. Memeriksa jenis kolom tidak selalu berhasil karena int
jenisnya juga bisa kategoris.
Jadi saya mencari bantuan dalam menemukan metode pengujian hipotesis yang tepat untuk mengidentifikasi apakah suatu kolom termasuk kategori atau tidak.
Saya mencoba di bawah uji chi-square tetapi saya tidak yakin apakah ini cukup baik
import numpy as np
data = np.random.randint(0,5,100)
import scipy.stats as ss
ss.chisquare(data)
Mohon saran.
Jawaban:
Jawaban singkat: Anda tidak bisa.
Tidak ada tes statistik yang akan memberi tahu Anda apakah prediktor yang berisi bilangan bulat antara 1 dan 10 adalah prediktor numerik (mis., Jumlah anak) atau menyandikan sepuluh kategori yang berbeda. (Jika prediktor berisi angka negatif, atau angka terkecil lebih besar dari satu, atau melompati bilangan bulat, ini mungkin membantah bahwa itu adalah pengkodean kategorikal - atau mungkin hanya berarti bahwa analis menggunakan pengkodean tidak standar.)
Satu-satunya cara untuk memastikan adalah memanfaatkan keahlian domain, atau buku catatan dataset (yang harus selalu ada).
sumber
Apa pun kriteria - atau aturan praktis - berfungsi untuk dataset Anda, silakan, tetapi kami tidak dapat melihat data Anda. Dalam hal apapun masalahnya lebih baik bernada umum, dan tanpa referensi ke perangkat lunak tertentu juga.
Ini lebih buruk daripada yang Anda pikirkan, bahkan jika Anda berpikir itu lebih buruk daripada yang Anda pikirkan.
@Stephan Kolassa sudah membuat satu poin kunci. Bilangan bulat kecil bisa berarti jumlah daripada kategori: 3, artinya 3 mobil atau kucing, tidak sama dengan 3, yang berarti "orang memiliki mobil" atau "orang dimiliki oleh kucing".
Poin desimal dapat bersembunyi di dalam variabel kategori, sebagai bagian dari klasifikasi kode, misalnya industri atau penyakit.
Pengukuran rasa yang ketat bisa saja berupa bilangan bulat dengan konvensi, misalnya ketinggian orang bisa saja dilaporkan sebagai bilangan bulat cm atau inci, tekanan darah sebagai bilangan bulat mm Hg.
Jumlah nilai yang berbeda (istilah yang lebih baik daripada "unik", yang masih memiliki makna utama terjadi sekali saja) juga bukan panduan yang baik. Jumlah ketinggian orang yang berbeda yang mungkin dalam sampel moderat mungkin jauh lebih sedikit daripada jumlah afiliasi agama atau asal etnis yang berbeda.
sumber
Yah saya pikir itu bahkan lebih buruk daripada jawaban yang disarankan: data tidak sub- kategori kategorik atau numerik æternatis - "tingkat pengukuran" adalah sesuatu yang ditetapkan oleh analis untuk menjawab pertanyaan tertentu pada kesempatan tertentu. Lihat jawaban Glen_b di sini .
Sangat penting untuk memahami hal itu secara praktis. Misalnya, dengan pohon klasifikasi perbedaan antara rasio, interval, & prediktor tingkat ordinal tidak ada konsekuensinya: satu-satunya perbedaan yang penting adalah antara prediktor ordinal & nominal. Membatasi algoritme untuk membagi prediktor pada titik di sepanjang garis, memisahkan yang lebih tinggi dari nilai yang lebih rendah, dapat memiliki efek signifikan pada kinerja prediktifnya - baik atau buruk, tergantung pada kelancaran hubungan prediktor (menurut dugaan) terkait dengan respons. & ukuran kumpulan data. Tidak ada cara yang masuk akal untuk membuat keputusan hanya berdasarkan pada pemikiran tentang bagaimana variabel prediktor mewakili kenyataan terlepas dari analisis yang akan Anda lakukan, apalagi pada nilai-nilai apa yang Anda temukan dalam sampel.
sumber
Ini adalah pertanyaan penelitian terbuka. Lihat misalnya karya Valera et al. ( kertas ) atau ekstensi (mis. satu oleh Dhir et al. - kertas ).
Edit:
(Dari kertas Valera.)
Jadi ketika kita mengatakan bahwa ini adalah "pertanyaan terbuka" (anehnya mengutip diri saya sendiri), kami bermaksud mengatakan bahwa saat ini tidak ada metode otomatis yang baik untuk menyimpulkan jenis data yang diberikan sampel terbatas. Jika Anda memiliki sampel tanpa batas, ini akan mudah, tetapi karena itu tidak mungkin, kami perlu kembali ke cara lain.
sumber