İyi cevaplar çoktan ortaya çıktı. Bu nedenle kişisel deneyime dayanan bazı düşünceleri paylaşacağım: ilgili olanları ihtiyaç duyduğunuz şekilde kendi durumunuza uyarlayın.
İçin arka plan ve bağlam- böylece, bu mesaja zarar verebilecek kişisel önyargıları hesaba katabilirsiniz - çalışmalarımın çoğu, insanların göreceli olarak küçük veri kümelerine dayanarak önemli kararlar vermelerine yardımcı oldu. Bunlar küçüktür çünkü verilerin toplanması pahalı olabilir (örneğin bir yeraltı suyu izleme kuyusunun ilk örneği için 10 bin dolar veya olağandışı kimyasalların analizi için birkaç bin dolar). Mevcut olan herhangi bir veriden mümkün olduğunca fazlasını almaya, onları ölüme araştırmaya ve gerektiğinde onları analiz etmek için yeni yöntemler icat etmeye alışkınım. Ancak, son birkaç yılda, Nüfus Sayımı blok düzeyinde ABD'nin tamamını kapsayan sosyoekonomik ve mühendislik verilerinden biri gibi oldukça büyük veritabanlarında çalışmakla meşgul oldum (8,5 milyon kayıt,
Çok büyük veri kümeleriyle, kişinin tüm yaklaşımı ve zihniyet değişikliği . Şimdi analiz edilecek çok fazla veri var. Anlık (ve geriye dönük olarak) açık sonuçlardan bazıları (regresyon modellemesi üzerinde durularak)
Yapmayı düşündüğünüz herhangi bir analiz çok zaman ve hesaplama gerektirebilir. Kısmi veri kümelerinde alt örnekleme ve çalışma yöntemleri geliştirmeniz gerekecek, böylece tüm veri kümesini hesaplarken iş akışınızı planlayabilirsiniz. (Alt örnekleme karmaşık olabilir, çünkü tüm veri kümesi kadar zengin verilerin temsili bir alt kümesine ihtiyacınız vardır. Ayrıca , verilerinizi, tutulan verilerle çapraz doğrulamayı unutmayınız .)
Bu nedenle, ne yaptığınızı belgelemek ve her şeyi kodlamak için daha fazla zaman harcayacaksınız (böylece tekrarlanabilir).
@ Dsimcha'nın daha önce belirttiği gibi, iyi programlama becerileri kullanışlıdır. Aslında, programlama ortamları ile ilgili deneyim deneyimine çok ihtiyaç duymazsınız, ancak programlamaya istekli olmanız, programlamanın ne zaman yardım edeceğini tanıma yeteneğine (neredeyse her adımda, gerçekten) ve temel unsurların iyi bir şekilde anlaşılmasına ihtiyacınız vardır. bilgisayar veri bilimi, uygun veri yapılarının tasarımı ve algoritmaların hesaplama karmaşıklığının nasıl analiz edileceği gibi. Yazmayı planladığınız kodun tüm veri kümesine ölçeklenip ölçeklenmediğini önceden bilmek önemlidir.
Bazı veri kümeleri büyüktür çünkü birçok değişkene sahiptir (binlerce veya on binlerce, hepsi farklı). Verileri özetlemek ve anlamak için çok zaman harcayacağınızı umun . Bir kod defteri veya veri sözlüğü ve diğer meta veri biçimleri zorunlu hale gelir.
Zamanınızın çoğunda basitçe verileri dolaşmak ve biçimlendirmek için harcanır. Büyük veri tabanlarının işlenmesi ile ilgili becerilere ve büyük miktarda veriyi özetleyerek ve grafik çizerek becerilere ihtiyacınız var . ( Tufte'nin Küçük Çoklu burada öne çıkıyor.)
En sevdiğiniz yazılım araçlarından bazıları başarısız olur. Örneğin, elektronik tabloları unut. Bir çok açık kaynaklı ve akademik yazılım büyük veri kümelerini idare etmekle kalmayacak: işlem sonsuza dek sürecek veya yazılım çökecektir. Bunu bekleyin ve kilit görevlerinizi yerine getirmenin birden fazla yolunun olduğundan emin olun.
Neredeyse koştuğunuz herhangi bir istatistiksel test o kadar güçlü olacak ki "önemli" bir etki tanımlayacağından neredeyse emin olacaksınız. Önemden ziyade etki büyüklüğü gibi istatistiksel önem üzerine daha fazla odaklanmalısınız .
Benzer şekilde, model seçimi zahmetlidir çünkü hemen hemen tüm değişkenler ve düşündüğünüz herhangi bir etkileşim önemli görünecektir. Analiz etmeyi seçtiğiniz değişkenlerin anlamlılığına daha fazla odaklanmalısınız .
Değişkenlerin uygun doğrusal olmayan dönüşümlerini tanımlamak için yeterli bilgi bulunacaktır . Bunu nasıl yapacağınızı bilin.
Doğrusal olmayan ilişkileri, eğilimlerdeki değişiklikleri, durağanlığı, heteroscedasticiliği , vb . Tespit etmek için yeterli veriye sahip olacaksınız .
Asla bitmeyeceksin . Sonsuza dek çalışabilecek çok fazla veri var. Bu nedenle, analitik hedeflerinizi başlangıçta belirlemek ve sürekli akılda tutmak önemlidir.
Daha küçük olana kıyasla büyük veri setli regresyon modellemesi arasında beklenmedik bir fark gösteren kısa bir anekdot ile biteceğim . Census verileriyle birlikte bu projenin sonunda, müşterinin bilgi işlem sisteminde geliştirdiğim bir regresyon modelinin uygulanması gerekiyordu, bu da ilişkisel bir veritabanına SQL kodu yazmaktı. Bu rutin bir adımdır ancak veritabanı programcıları tarafından oluşturulan kod binlerce satır SQL içermektedir. Bu, hatasız olduğunu garanti etmeyi neredeyse imkansız hale getirdi - böcekleri tespit etmemize rağmen (test verilerinde farklı sonuçlar verdi), onları bulmak başka bir konuydu. (İhtiyacınız olan tek şey bir katsayıdaki bir yazım hatası ...) Çözümün bir kısmı, doğrudan SQL modelini doğrudan tahminlerden üreten bir program yazmaktı.. Bu, istatistik paketinden çıkanların tam olarak RDBMS'ye girenlerin olduğunu garanti etti. Bonus olarak, bu senaryoyu yazmak için harcanan birkaç saat, muhtemelen birkaç haftalık SQL kodlaması ve testinin yerine geçti. Bu, istatistikçilerin sonuçlarını iletebilmelerinin ne anlama geldiğinin küçük bir parçasıdır.