שְׁאֵלָה:
כיצד לנהל ביעילות פרויקט ניתוח סטטיסטי?
chl
2010-09-21 01:39:08 UTC
view on stackexchange narkive permalink

לעתים קרובות אנו שומעים על ניהול פרויקטים ודפוסי עיצוב במדעי המחשב, אך בתדירות נמוכה יותר בניתוחים סטטיסטיים. עם זאת, נראה כי צעד מכריע לעיצוב פרויקט סטטיסטי יעיל ועמיד הוא שמירה על הדברים.

לעתים קרובות אני דוגל בשימוש ב- R ובארגון עקבי של קבצים בתיקיות נפרדות (קובץ נתונים גולמי, קובץ נתונים מומר, סקריפטים R, דמויות, הערות וכו '). הסיבה העיקרית לגישה זו היא שאולי יהיה קל יותר לבצע את הניתוח שלך מאוחר יותר (כששכחת איך ייצרת במקרה עלילה נתונה, למשל).

מהם ה שיטות המומלצות ניהול פרויקטים סטטיסטיים , או ההמלצות שתרצו לתת מנסיונכם? כמובן שזה חל על כל תוכנה סטטיסטית. ( תשובה אחת לפוסט, בבקשה )

אני מצביע לסגור את השאלה הזו כלא נושא מכיוון שהיא עוסקת בניהול פרויקטים
@Aksakal: אני חושב שאתה קצת קשוח.:) זה רלוונטי ל "* אנשים שמתעניינים בסטטיסטיקה *".כמו כן, 70+ הצבעות ממליצות למשתמשים סטנדרטיים למצוא שאלה זו מעניינת ומועילה.
אני חושב שיש לשקול זאת על הנושא כאן.
@gung האם תרצה להוסיף תשובה לשרשור המטא הזה כדי שנוכל לדון בו?
שבע תשובות:
#1
+80
chl
2010-09-30 15:44:48 UTC
view on stackexchange narkive permalink

אני אוסף סדרה מהירה של הנחיות שמצאתי ב- SO (כפי שהציע @Shane), Biostar (להלן BS) ו- SE זה. ניסיתי כמיטב יכולתי להכיר בבעלות על כל פריט, ולבחור תשובה ראשונה או מוערכת ביותר. הוספתי גם דברים משלי וסימנתי פריטים הספציפיים לסביבת [R].

ניהול נתונים

  • צור פרויקט מבנה לשמירה על כל הדברים במקום הנכון (נתונים, קוד, דמויות וכו ', giovanni / BS)
  • לעולם אל תשנה קבצי נתונים גולמיים (באופן אידיאלי, יש לקרוא אותם בלבד), העתק / שנה שם לחדשים בעת ביצוע שינויים, ניקוי וכו '.
  • בדוק את עקביות הנתונים ( whuber / SE)
  • נהל תלות סקריפטים ו זרימת נתונים עם כלי אוטומציה לבנות, כמו GNU make ( Karl Broman / Zachary Jones)

קידוד חזק >

ניתוח

  • אל תשכח להגדיר / להקליט את הזרע בו השתמשת בעת קריאת RNG או אלגוריתמים סטוכסטיים (למשל k-means)
  • ללימודי מונטה קרלו, זה יכול להיות מעניין לאחסן מפרט / פרמטרים בקובץ נפרד ( סומטרה עשוי להיות מועמד טוב, giovanni / BS)
  • אל תגביל את עצמך לעלילה אחת לכל משתנה, השתמש בתצוגות רב משתנות (סורג) ובכלי הדמיה אינטראקטיביים (למשל GGobi)

גרסאות

  • השתמש באיזשהו בקרת תיקון למעקב / ייצוא קל, למשל Git ( Sharpie / VonC / JD Long / SO) - זה נובע משאלות נחמדות שנשאלו על ידי @Jeromy ו- @Tal
  • גבה הכל על בסיס קבוע ( Sharpie / JD Long / SO)
  • שמור יומן של הרעיונות שלך, או סמוך על גשש לגיליון, כמו ditz ( giovanni / BS) - מיותר בחלקו עם הפריט הקודם מכיוון שהוא זמין ב- Git

עריכה / דיווח

כהערת צד, הדלי וויקהאם מציעה סקירה מקיפה על ניהול פרויקטים של R, כולל דוגמאות הניתנות לשחזור ו פילוסופיה מאוחדת של נתונים .

לבסוף, ב זרימת העבודה הסטטיסטית של ניתוח נתונים סטטיסטיים, אוליבר קירשקאמפ מציע סקירה מפורטת מאוד של הסיבה לאימוץ ולציית למצב ספציפי זרימת עבודה תסייע לסטטיסטיקאים לשתף פעולה עם כל אוט אותה, תוך הקפדה על שלמות הנתונים ושחזור תוצאות. זה כולל בנוסף דיון מסוים בשימוש במערכת אריגה ובקרת גרסאות. משתמשי סטאטה עשויים למצוא גם את זרימת העבודה של ניתוח נתונים באמצעות סטאטה של J. Scott Long מועילה.

עבודה נהדרת CHL! האם זה יהיה בסדר. על ידך אם אני איפה לפרסם את זה בבלוג שלי? (כלומר, הטקסט הזה הוא cc, אז יכולתי, אבל רציתי שתהיה לך אישור בכל דרך :)) לחיים, טל
@Tal אין בעיה. זה רחוק מלהיות רשימה ממצה, אבל אולי תוכל לצבור קישורים שימושיים אחרים במועד מאוחר יותר. כמו כן, אל תהסס להסתגל או לארגן מחדש בצורה טובה יותר.
+1 זו רשימה נחמדה. אתה יכול לשקול "לקבל את זה" כך שזה תמיד יהיה למעלה; בהתחשב בעובדה שזה CW, כל אחד יכול לעדכן אותו.
@Shane ובכן, אני חייב לך שסיפקת תשובה ראשונה עם קישורים כל כך שימושיים. אתם מוזמנים להוסיף / לשנות את הדרך בה אתם רוצים.
פרסמתי את זה מחדש כאן. רשימה נהדרת! http://www.r-statistics.com/2010/09/managing-a-statistical-analysis-project-guidelines-and-best-practices/
הייתי מצביע עבור Mercurial ולא Git ככלי גרסא. מצאתי שזה קל יותר לשימוש וקהילת המשתמשים לא כל כך קשה. (ב- Mac, MacHG הוא ממשק ממשק נהדר של ממשק משתמש עבור Mercurial.) לא משנה באיזה כלי גרסאות אתה משתמש, ממשק קצה של ממשק משתמש הוא מאוד שימושי וחזק למעקב וניהול דברים.
@Wayne תודה על זה. אוליבר קירשקאמפ דן בשימוש ב- SVN; מצאתי את עצמי מרבה להשתמש ב- [RCS] (http://www.gnu.org/software/rcs/) עבור דברים שונים, אבל שמעתי דברים טובים מ- Hg. אני מסכים ש- GUI יכול להיות פלוס אם כי אני עובד בעיקר משורת הפקודה ו- Emacs. ([GitHub for Mac] (http://mac.github.com/) לא כל כך רע, btw.)
@CHL: במבט ראשון, קל לחשוב ש- GUI פשוט מקל על השימוש בטירון, אך גיליתי שהכוח של ה- GUI (לפחות MacHG) הוא שהוא דינמי. אני שומר על MacHG פתוח כל הזמן, ואני יכול לראות במבט חטוף אילו קבצים נמצאים בפרויקט, ואילו עודכנו. לחץ על קובץ כדי לראות מה השתנה. זה עוזר במיוחד אם אני משנה פרויקטים כדי לעזור לי להזכיר לי איפה הייתי.
זה באמת יכול להיות בתוספת תיאור של אופן השימוש ב- Makefile לניהול נתונים ומטמון. אם מישהו מכיר אחד כזה, אנא הוסף אותו. אם לא, אנסה לכתוב אחת בהקדם, ברגע שאסובב את ראשי.
@naught101 לקרל ברומן יש כמה מדריכים לשימוש בכלי GNU ו- R ב"כלים למחקר לשחזור ", http://kbroman.github.io/Tools4RR/.
מעניין - התשובה שלך היא מדריך מקיף מאוד לניהול קוד / קבצים.לא יותר מדי מבחינת בדיקה האם ענית בפועל על שאלות המחקר המפתח או על דרישות התפוקה
#2
+21
Shane
2010-09-21 01:42:22 UTC
view on stackexchange narkive permalink

זה לא נותן תשובה באופן ספציפי, אך ייתכן שתרצה לבחון את השאלות הקשורות לזרם מחסניות:

יתכן ויתעניין גם ב לאחרונה של ג'ון מיילס ווייט פרויקט ליצירת תבנית פרויקט סטטיסטית.

תודה על הקישורים! השאלה פתוחה לכל תוכנה סטטיסטית - אני משתמש מדי פעם בפייתון ובסטטה, אז אני תוהה אם משתמשים מאושרים עשויים להביא לשם המלצות מעניינות.
בהחלט; אם כי אוסיף שההמלצות בקישורים שלעיל יכולות לחול על כל פרויקט סטטיסטי (ללא קשר לשפה).
בהחלט כן! עדכנתי את שאלתי במקביל.
#3
+8
user88
2010-09-25 20:45:58 UTC
view on stackexchange narkive permalink

זה חופף לתשובת שיין, אך לדעתי ישנם שני מזחים עיקריים:

  • שחזור ; לא רק משום שלא תסיים עם תוצאות שנעשו "איכשהו", אך תוכל גם להריץ מחדש את הניתוח מהר יותר (על נתונים אחרים או עם פרמטרים שהשתנו מעט) ולפנות זמן לחשוב על התוצאות. לקבלת נתונים עצומים, תחילה תוכלו לבדוק את רעיונותיכם על איזה "משחק משחק" קטן ואז להרחיב בקלות את כל הנתונים.
  • תיעוד טוב הגיבו סקריפטים תחת גרסת גרסאות, יומן מחקר כלשהו, ​​מערכת אירועים של פרויקטים מורכבים יותר. משפר את יכולת ההעתקה, הופך את מעקב השגיאות לקל יותר וכתיבת דוחות סופיים לטריוויאלית.
+1 אני אוהב את הנקודה השנייה (אני משתמש ב- roxygen + git). הנקודה הראשונה גורמת לי לחשוב גם על האפשרות לתת את הקוד שלך לסטטיסטיקאי אחר שיוכל לשחזר את התוצאות שלך בשלב מאוחר יותר של הפרויקט, ללא כל עזרה.
שחזור?לנתונים יש שגיאה אקראית בכל מקרה, אז למי אכפת.תיעוד?שתי תשובות אפשריות: 1) אנחנו עסוקים מדי, אין לנו זמן לתיעוד או 2) היה לנו רק תקציב לבצע את הניתוח או לתעד אותו, אז בחרנו לבצע את הניתוח.אתה חושב שאני מתבדח?ראיתי / שמעתי עמדות אלה בהזדמנויות רבות - על פרויקטים שעליהם נסעו חיים על הקו.
#4
+4
Carlos Accioly
2010-09-21 08:00:48 UTC
view on stackexchange narkive permalink

van Belle הוא המקור לכללי הפרויקטים הסטטיסטיים המצליחים.

#5
+1
Wes McCardle
2010-10-01 05:58:05 UTC
view on stackexchange narkive permalink

רק 2 הסנטים שלי. מצאתי את Notepad ++ שימושי לכך. אני יכול לשמור על סקריפטים נפרדים (בקרת תוכניות, עיצוב נתונים וכו ') וקובץ .pad לכל פרוייקט. שיחת הקובץ .pad כוללת את כל התסריטים המשויכים לפרויקט זה.

אתה מתכוון, פנקס + עם השימוש ב- npptor :)
#6
+1
Christian Sauer
2014-04-09 14:58:39 UTC
view on stackexchange narkive permalink

בעוד שהתשובות האחרות נהדרות, הייתי מוסיף סנטימנט נוסף: הימנע משימוש ב- SPSS. השתמשתי ב- SPSS לצורך עבודת המאסטר שלי ועכשיו בעבודתי הקבועה במחקר שוק.

בזמן שעבדתי עם SPSS, היה קשה להפליא לפתח קוד סטטיסטי מאורגן, בגלל העובדה ש- SPSS גרוע בטיפול במספר קבצים (בטח, אתה יכול לטפל בקבצים מרובים, אבל זה לא כואב כמו R ) מכיוון שאינך יכול לאחסן מערכי נתונים למשתנה - עליך להשתמש בקוד "מערך הפעלת x" - דבר שיכול להוות כאב מוחלט. כמו כן, התחביר מסורבל ומעודד קצרות, מה שהופך את הקוד לבלתי קריא עוד יותר.

#7
  0
hugke729
2018-06-09 09:04:29 UTC
view on stackexchange narkive permalink

מחברות Jupyter, שעובדות עם R / Python / Matlab / וכו ', מסירות את הטרחה בלזכור איזה סקריפט מייצר דמות מסוימת. פוסט זה מתאר דרך מסודרת לשמור את הקוד ואת הדמות זה ליד זה.שמירת כל הדמויות עבור פרק נייר או תזה במחברת יחידה מקלה מאוד על איתור הקוד המשוריין.

אפילו יותר טוב, למעשה, כי אתה יכול לגלול, נניח, בתריסר דמויות כדי למצוא את הדמות שאתה רוצה.הקוד נשמר מוסתר עד שהוא נחוץ.



שאלה ותשובה זו תורגמה אוטומטית מהשפה האנגלית.התוכן המקורי זמין ב- stackexchange, ואנו מודים לו על רישיון cc by-sa 2.0 עליו הוא מופץ.
Loading...