İnsanların verilere daha iyi bakmalarını nasıl sağlarım?


42

İşyerimde çok çeşitli disiplinlerden çalışanlar var, bu yüzden birçok farklı biçimde veri üretiyoruz. Sonuç olarak, her takım veri depolamak için kendi sistemini geliştirmiştir. Bazıları Access veya SQL veritabanlarını kullanır; bazı takımlar (korkularıma göre) neredeyse tamamen Excel çalışma sayfalarına güveniyorlar. Genellikle, veri formatları projeden projeye değişir. Bazı durumlarda 'sistem' olarak adlandırmak çok kibardır.

Bunun gerektirdiği sorun, pahalı olan her projenin verilerini temizlemek için yeni kod yazmam gerektiği; elektronik sayfaları elle düzenleyen kişiler tekrarlanabilirliği ve verilerin denetlenmesini imkansız hale getirir; ve daha da kötüsü, verilerin kaybolması veya yanlış yapılması ihtimali vardır.

Bana bu sorunları şirketin yönetim kurulu üyesi ile tartışma fırsatı verildi ve ona ne söyleyeceğime karar vermem gerekiyor. Sanırım onu ​​zaten bir sorunumuz olduğuna ve bu hakkı elde etmenin daha iyi bilim ve para tasarrufu sağlayacağına ikna ettim. Soru şu: Neyi hedef almalıyız ve oraya nasıl gideceğiz?

Daha spesifik olarak:

Verileri, yaratılmadan bir makalede yayınlanmaya kadar izlememizi sağlayacak şekilde nasıl saklamalıyız? (Merkez sunucuda depolanan veritabanları?)

Veritabanı formatlarını standartlaştırma konusunda nasıl gidiyorsunuz?

Verileri nasıl değerlendirebilecekleri konusunda insanları eğitmek için iyi kaynaklar var mı? (Genel bir kural olarak, iş hijyenistleri ve patlayıcı mühendisleri veri ağı değildir; bu nedenle teknik olmayan içerik tercih edilmiştir.)


Başlık sorusu gönderimdeki temel sorudan farklıdır. İlki, insanları veriye bakmaya nasıl ikna edeceğini ve ikincisi veri depolamak için elinden gelenin en iyisini yapmayı soruyor. Cevaplanmasını istediğiniz soru nedir?
Monica

Yanıtlar:


16

Yazılım dünyasından fikirleri düşünmeye değer. Özellikle kurulum yapmayı düşünebilirsiniz: sürüm kontrol deposu ve merkezi bir veritabanı sunucusu.

Sürüm kontrolü, muhtemelen Excel ve metin dosyaları vb. Gibi ücretsiz kayan dosyalar konusunda size yardımcı olur. Ancak bu, R, SAS vb. Verilerle ilişkili dosyaları da içerebilir. dosyalarınız ne zaman ne olduğunu bilmenizi ve gerektiğinde geçmişte bir noktaya geri dönmenizi sağlar.

Zaten SQL veritabanlarına sahip olduğunuzda yapabileceğiniz en iyi şey, merkezi bir sunucu kurmak ve yetenekli bir DBA kiralamaktır . DBA, verilerin bütünlüğünü sağlama ve yönetme görevi olan kişidir. İş tanımının bir kısmı, yedekleme ve ayarlama gibi şeyleri içerir. Ancak burada başka bir bölüm daha önemlidir - verinin sisteme nasıl girdiğini kontrol etmek, kısıtlamaların yerine getirilmesini sağlamak, verilere zarar vermemek için erişim politikaları uygulamak, özel veya basitleştirilmiş veri formatlarını ortaya çıkarmak için görünümler ayarlamak, vb. veri süreci etrafında bir metodoloji uygulamak. Gerçek bir DBA almasanız bile (iyi olanları işe almak çok zordur), merkezi bir sunucuya sahip olmak yine de veri etrafında bir tür metodoloji kurmayı düşünmeye başlamanızı sağlar.


3
Kesinlikle sürüm kontrolü üzerinde anlaştılar. Kullanıyorum; geliştiricilerin ve istatistikçilerin önemli bir bölümünü yaptığı gibi. (% 100 evlat edinme görmek isterim ama bu şu an için bir başka boru düşü.) Zor olan teknoloji kullanmayanları kullanmak. Herhangi bir fikir takdir edildi.
Richie Cotton

2
@Richie Cotton: Nedenini bilmiyorum, ancak sürüm kontrolü teknisyen olmayanların kavraması zor bir kavram gibi görünüyor. İnsanlar bir dosyada bazı değişiklikler yapmaya devam eder, yeniden adlandırır ve e-postayla gönderir. "PaperDraftCorrectedByJohnRevision3RewroteByLeslie-NewVersion3.doc" dosyalarından nefret ediyorum ...
nico

12

1
Mükemmel bağlantılar Sanırım iletmem gereken iki önemli mesaj var: daha fazla otomatik veri kontrolüne ihtiyacımız var ve veri girişini ve veri sunumunu ayırma hakkında açıklama yapmaya başlamalıyım.
Richie Cotton

6

Her şeyden önce kendinize sormanız gerektiğini düşünüyorum: insanlar neden Excel için yapılmamış görevleri yapmak için Excel kullanıyor?

1) Zaten nasıl kullanılacağını biliyorlar 2) Çalışıyor. Belki sakar bir şekilde ama işe yarıyor ve istedikleri bu

Bir dizi numarayı kopyalarım, bir düğmeye basın ve bir arsam var. Bu kadar kolay.

Bu yüzden, merkezi veri kümeleri, uygun veritabanları (Access'in bunlardan biri olmadığını unutmayın) kullanarak hangi avantajlara sahip olabileceklerini anlamalarını sağlayın. Ancak yukarıdaki iki noktayı hatırlayın: İşe yarayan ve kullanımı kolay bir sistem kurmanız gerekir.

Çok kez gördüm ki, beni Excel'e değil kalemle kağıda geri döndürmek istememe neden olan sistemleri çok kötü yaptım!

Örnek olarak, çalıştığım yerde korkunç bir sipariş sistemimiz var.

Ürünün adını, miktarını, maliyetini vb. Gireceğiniz bir Excel elektronik tablosu olan bir sipariş formu doldurmak zorunda kaldık. Her şeyi ekleyecekti, TVA vb. emri verecek sekreteriydi ve hepsi buydu. Yetersiz, ama işe yaradı.

Şimdi merkezi bir DB ve her şey ile çevrimiçi bir sipariş sistemimiz var. Bu bir korku. Birimsel klavye kısayolları ve yazılımın farklı tuhaflıkları nedeniyle kahrolası bir form doldurmam 10 dakika sürmemelidir. Ve oldukça bilişim konusunda bilgili olduğumu unutmayın, bu yüzden bilgisayarları sevmeyen insanlara ne olduğunu hayal edin ...


İşlerin kullanıcı dostu olması gerektiğine karar verdiniz. İnsanlar çalışma pratikleri konusunda çok koruyucu olduklarından, her türlü değişiklik insanların yaşamlarını kolaylaştırmalı, yoksa başarısız olurlar.
Richie Cotton

5

Şimdiye kadar verilen tüm cevapların altını çizerim, ama bir kediyi bir kedi olarak adlandıralım: birçok çalışma alanında, “egzotik” yazılım araçlarına (onlara egzotik) yatırım yapmanın gerekli olduğunu, ayarlayabilecek birini işe almanın tek başına gerekli olduğuna ikna etmek imkansızdır. o kadar ve devam et. Bazı müşterilerime yazılım ve veritabanları üzerinde kapsamlı bir geçmişe sahip bir istatistikçiyi işe almaktan büyük fayda sağlayabileceklerini söyledim, ancak “yapamaz” genel bir cevap.

Bu gerçekleşmeyeceği sürece, hayatı kolaylaştıracak Excel ile yapabileceğiniz bazı basit şeyler var. Ve bu ilki şüphesiz sürüm kontrolüdür. Excel ile sürüm kontrolü hakkında daha fazla bilgiyi burada bulabilirsiniz .

Excel kullanımı hakkında bazı şeyler

EXCEL'i kullanan kişiler, EXCEL'in formül özelliklerini çok sık sever. Yine de bu, EXCEL sayfalarındaki en önemli hata kaynağı ve deneyimlerime göre EXCEL dosyalarında okumaya çalışırken yaşanan sorunların kaynağı. Formül içeren sayfalarla çalışmayı reddediyorum.

Ayrıca birlikte çalıştığım herkesi EXCEL sayfalarını düz bir biçimde yayınlamaya zorluyorum, yani:

  • İlk satır farklı değişkenlerin isimlerini içerir.
  • Elektronik tablo A1 hücresinde başlar.
  • Tüm veriler kesintisiz ve biçimlendirmeden sütunlara yerleştirilir.
  • Mümkünse, veriler de .csv formatında kaydedilir. Verileri ayıklamak, yeniden biçimlendirmek ve bir .csv dosyasına koymak için bir VBA komut dosyası yazmak zor değildir. Bu aynı zamanda her gün bir .csv veri dökümü yapabildiğiniz için daha iyi sürüm kontrolü sağlar.

Verilerin her zaman sahip olduğu genel bir yapı varsa, veri eklemek ve analiz için veri kümesini oluşturmak için altta yatan VB makrolarını içeren bir şablon geliştirmek iyi olabilir. Bu genel olarak, her çalışanın kendi "dahi" veri depolama sistemiyle gelmesini önler ve kodunuzu bu fonksiyona yazmanıza izin verir.

Bu, eğer herkesi SQL kullanmaya ikna edebilirseniz (ve veri girişi için bir ön uç), R'yi doğrudan buna bağlayabilirsiniz. Bu, performansı büyük ölçüde artıracaktır.

Veri yapısı ve yönetimi

Genel bir kural olarak, veritabanlarında (veya ısrar ediyorlarsa EXCEL sayfaları) depolanan verilerin mutlak asgari düzeyde olması gerekir; bu, diğer bazı değişkenlerden hesaplanabilecek herhangi bir değişkenin veritabanında bulunmaması gerektiği anlamına gelir. Bazen hesaplamalar sıkıcı ve uzun zaman alıyorsa, türetilmiş veya dönüştürülmüş değişkenleri de saklamanın faydalı olabileceğini unutmayın. Ancak, bunlar aslına bağlı olarak gerekirse ayrı bir veritabanında saklanmalıdır.

Düşünce, bir vaka (ve dolayısıyla bir satır) olarak kabul edilenlere de verilmelidir. Örnek olarak, insanlar her zaman noktası için yeni bir değişken yaparak zaman serileri üretme eğilimindedir. Bu bir EXCEL'de mantıklı olsa da, bu verileri okumak, veri matrisinin etrafında bir miktar ters çevirmeyi gerektirir. Grupları karşılaştırmak için aynı: Her grup için bir cevap değişkeni değil, bir grup göstergesi ve bir yanıt değişkeni olmalıdır. Bu şekilde veri yapıları da standartlaştırılabilir.

Sıklıkla karşılaştığım son şey, farklı ölçümlerin kullanılmasıdır. Uzunluklar, metre cinsinden veya santimetre cinsinden, Celcius, Kelvin veya Farenheit'teki sıcaklıklarda verilmektedir.

Tüm bunlardan sonra bile, analize başlamadan önce hala bir veri kontrolü adımına sahip olmak istiyorsunuz. Yine, bu, yeni girişlerde günlük olarak çalışan (örneğin bir gecede) çalışan herhangi bir komut dosyası olabilir ve sorunları derhal işaretler (aralık dışı, yanlış tür, eksik alanlar, ...), böylece olabildiğince hızlı bir şekilde düzeltilebilirler. Neyin yanlış olduğunu ve neden olduğunu bulmak için 2 ay önce yapılan bir girişe geri dönmeniz gerekiyorsa, düzeltmek için iyi bir "Sherlock becerileri" edinmelisiniz.

benim 2 kuruş


Burada bazı çok ilginç noktalar. İnsanları elektronik tablolarını basitleştirmeye ve standart hale getirmeye ikna etmek, onları terk etmelerinden daha başarılı olmaları muhtemeldir. Ayrıca sürüm kontrolünün Excel ile entegre olabileceğini bilmiyordum. Bilmek güzel.
Richie Cotton

2
Gereksiz değişkenleri saklamama tavsiyesi ile ilgili olarak: bu RDBMS'ler için uygundur, ancak elektronik tablolarda bunun tersini teşvik etmek gerektiğini belirtmek isterim. İkincisi hataya açıktır, hataları saptama ve düzeltme mekanizmaları paha biçilmezdir. En iyilerinden biri, hesaplanan alanlar ve istatistiksel özetler gibi yedekli bilgilerden oluşur. Örneğin, C sütunu A ve B sütunlarının oranıysa, herhangi bir satırdaki tek bir sütundaki bir hata algılanabilir ve genellikle düzeltilebilir.
whuber

1
@ whuber: Veri kontrol adımında kontrol ettiğimiz şey budur. Hızlı kontrol etmek için bu ekstra sütunu kullanabilirsiniz, ancak final sayfasında saklamamalısınız. E-tablolardaki formüller korku ve e-tablo ne kadar büyükse, veriden o kadar zor çıkar. Artı, Excel durumunda, yine de .xls ve .xlsx arasındaki farklarla savaşıyor olacaksınız. Bir menajerin Microsoft Office'i güncelleme kararının, özellikle excel dosyalarına güveniyorsanız, tonlarca kodu kırabileceğinden emin olun. Yani: csv olarak kaydedin ve bu csv dosyalarını mümkün olduğu kadar küçük tutun.
Joris Meys

Kariyerimdeki son 24 yılın önemli bir bölümünü e-tablolarda aktarılan verilerle başa çıkarak ve önemli veritabanlarını yöneterek geçirdikten sonra saygı duymamalıyım. E-tablolar üzerinde "kontrol" diye bir şey yoktur (ister .xls, .xlsx, .wks, .wb *, vb.), Hatta csv dosyaları. Bu tür dosyalarda gereksiz bilgilerin varlığı - yalnızca basılı biçimde olsalar bile - birçok büyük veritabanına (100k + kayıt) dirildi. Bu ne zaman olursa olsun ben (ve müşterilerim) işten çıkarmalar için minnettarım.
whuber

@whuber: İmkansız değerler / aykırı değerler / tuhaf durumlar arayan ekstra kodlarla veri kontrolü yapıyoruz. Veri kontrol adımında demek istediğim bu. Bu, SGS ve diğerleri gibi klinik denemeler vb. Analizler yapan şirketlerde endüstri standardıdır. Gerekli olan gereksiz bilgiler ayrı veritabanlarında tutulur. Biri başarısız olursa, diğeri diriliş için gereklidir. İyi bir yedekleme sisteminiz yoksa, o zaman ...
Joris Meys

3

VisTrails: Python Tabanlı Bilimsel Bir İş Akışı ve Deliliyet Sistemi . PyCon 2010'da verilen bu konuşmanın bazı iyi fikirleri var. VisTrails veya python kullanmakla ilgilenmiyor olsanız bile dinlemeye değer. Sonunda, verileri yeniden oluşturmak için açık bir belge yolu olmasını isteyip istemediğinize inanıyorum. Ve yapabilecekleri bazı onaylar gerektir.

Alıntı yapmak:

"Bu konuşmada, hem veri ürünlerinin hem de soyların saydamlığını açıkça yakalayan bir python tabanlı açık kaynaklı bilimsel iş akışı olan VisTrails'e ( http://www.vistrails.org ) genel bir bakış sunacağız. Bu ürünleri türetmek için VisTrails'in veri arama ve görselleştirmeyi kolaylaştırmak için nasıl kullanılabileceğini göstereceğiz Gerçek örnekler kullanarak, birden fazla aracı ve kütüphaneyi gibi çeşitli araçları ve kütüphaneleri birleştiren görsel işleme boru hatlarını görsel olarak oluşturma becerisi de dahil olmak üzere sistemin temel özelliklerini göstereceğiz. VTK, pylab ve matplotlib. VisTrails'in sadece sonuç tekrarlanabilirliğini desteklemek için değil aynı zamanda boru hatlarının oluşturulmasını ve iyileştirilmesini kolaylaştırmak için provenans bilgilerini nasıl kullandığını da göstereceğiz. "


Python organizasyonumuzda yaygın değil, ancak ilginç bir projeye benziyor. Bakalım işlerin dokümantasyonundan nasıl yapılması gerektiğine dair bazı fikirler çıkarabilir miyim?
Richie Cotton

2

Veri yönetimi planlarında ICPSR tarafından barındırılan bu web sayfasına rastladım . ICPSR'nin hedeflerinin işinizden biraz farklı olacağını düşünmeme rağmen (örneğin, verilerin gizliliği ihlal etmeden kolayca dağıtılmasını sağlamakla yoğun bir şekilde ilgileniyorlar), işletmeler için yararlı bilgilere sahip olduklarını hayal ediyorum. Özellikle meta veri oluşturma konusunda tavsiyeler bana evrensel geliyor.


2

Çok daha küçük ölçeklerde durumda, diğer araştırmacılar / işbirlikçileri (bu konuda yazmış ile veri dosyaları (ve komut ve sonuçları) bir kopyasını senkronize / dropbox fora paylaşımını kullanarak deneyimli burada ).

Kullandığım diğer araç, veri toplamak ve paylaşmak için google docs ( burada yazdığım )


0

Dropbox + packrat , yedekleme / sürüm oluşturma ile dosyaları paylaşmak için idealdir .

Daha sonra bu dosyaları (otomatik kanonizasyon / masajdan sonra) bir veritabanına yükler ve temizlik verilerinin analizlerini yaparsınız. Extract-Transform-Load döngüsünü otomatikleştirmek için komut dizilerini sürüm kontrolü altına alın (ya da en azından packrat seçeneğine sahip ayrı bir dropbox klasörü ...).

Sonunda veritabanı sunucunuz çöktüğünde (veya paylaşılması gerektiğinde), verileri insan dostu (Excel, web formları, vb.) Analiz dostu (genellikle normalleştirilmiş ve kısıtlı, her zaman temizlenmiş) haline getirmek için bir boru hattınız vardır.

Bu "ETL" aşaması veri depolamadan kaynaklanmaktadır. Ve bir çevrimiçi işlem işleme sistemi kurmuyorsanız, muhtemelen bir veri ambarı oluşturuyorsunuz. Öyleyse benimseyin ve insanların son 30 yıl boyunca bunları inşa etmekten öğrendiklerinden yararlanın.

İyi eğlenceler.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.