קורלציות

קורלציות

שלום לכולם,
יש לי טבלה עם 1800 עמודות וכ-40000 שורות.
אני צריך לחשב קורלציה בין כל זוג עמודות. מה היא הדרך הנכונה לעשות את זה?
לולאה כפולה מגיבה רע מאוד (צפי של 20 שעות).
אם אני עושה את זה בתוכנה סטטיסטית זה לוקח לי 2 דקות (לא כולל טעינת הנתונים). הבעיה היא שאני רוצה להישאר עם SQL ולא להזדקק לתוכנות אחרות.
תודה מראש.
 

גרי רשף

New member
מה הבעייה בדיוק?

אם השאלה היא איך מבצעים קורלציה - במקרה כתבתי על זה פוסט לפני שנתיים, במיוחד בשבילך (ביננו- אין סיכוי שמישהו מאלו שקראו את הפוסט הבין מה זה מקדם המתאם):
http://blogs.microsoft.co.il/blogs/gerireshef/archive/2011/11/01/GR20111101.aspx

אם השאלה היא לגבי כל זוג עמודות- כוונתך שיש לבצע 900 חישובים על 900 זוגות של טבלאות או שכל עמודה עם כל עמודה (בלתי אפשרי!)?
 
הבעיה היא

שאני צריך לחשב את הקורלציות בין כל הזוגות וזה די הרבה זוגות 18000*18000 (לחלק ל-2). זה לוקח די הרבה זמן, ואני שואל איך לקצר את זה. זה לקח 4 שעות.
אם תשאל איך זה ירד מ14 שעות שהערכתי אתמול, התשובה היא שכיוון שאני הערכתי את הזמן לפי ה100 הראשונים, אבל לכל עמודה אני מחשב את את הקורלציה רק עם הבאים אחריה, אז זה מתקצר במהלך הזמן.
לגבי המתאם, אני הבנתי אבל ידעתי קודם.
 
למעלה