يدرس على تحقيق ميزة الاختيار للتنبؤ السلاسل الزمنية مع بيثون

مذكرة لى فنغ الشبكة: هذه المقالة من الولايات المتحدة خبير تعلم الآلة جيسون براونلي بلوق، شبكة لى فنغ المترجمة.

إلى آلة يتم تطبيق خوارزمية تعلم بيانات السلاسل الزمنية، بحاجة إلى مساعدة المشروع الميزة.

على سبيل المثال، بيانات واحدة متغير الوقت سلسلة تتكون من سلسلة من الملاحظات، لا بد من تحويلها إلى المدخلات والمخرجات مميزة، ويمكن استخدامها لمراقبة خوارزمية التعلم.

ولكن هناك مشكلة: عدد ونوع من الخصائص لكل مشكلة السلاسل الزمنية، يمكنك التعامل معها، ولكن ليس هناك حد واضح. وبطبيعة الحال، لا يمكن للأدوات تحليل سلسلة الكلاسيكية الوقت (مثل correlogram ارتباط الرسم البياني) تساعد في تقييم المتغيرات تخلفت (المتغيرات تأخر)، ولكن لا مباشرة مساعدة المطورين على أنواع أخرى من الميزات للاختيار، على سبيل المثال، من الطابع الزمني (السنة والشهر واليوم) المعلومات المتنقلة والإحصائية (على سبيل المثال، المتوسط المتحرك المتوسط المتحرك) ميزات مشتقة.

لذلك، سوف نستكشف كيفية استخدام أدوات تعلم آلة على أساس خصائص وأهمية سلسلة زمنية من مشكلة اختيار الميزة في هذا البرنامج التعليمي.

بواسطة هذا البرنامج التعليمي، وسوف تتعلم:

كيفية إنشاء وتفسير يتخلف مخطط الارتباط الملحوظ.

أهمية كيفية حساب وتفسير الوقت النتيجة ميزة سلسلة.

كيف المدخلات الوقت متغير اختيار ميزة سلسلة.

وينقسم هذا البرنامج التعليمي إلى ستة أجزاء على النحو التالي:

1. قم بتحميل مجموعة بيانات مبيعات السيارات الشهرية: أننا سوف تحميل مجموعة البيانات لاستخدامها.

2. منعم: يصف كيف تمهيد مجموعة البيانات، للتحليل والتنبؤ لاحق.

يصف علاقة الرسم كيفية إنشاء بيانات السلاسل الزمنية: 3. الارتباط الذاتي المؤامرة.

4. سلسلة زمنية للتعلم تحت إشراف: سلسلة التوقيت حيد المتغير إلى مشكلة التعلم تحت الإشراف.

أهمية المتغيرات التباطؤ سمة: عرض ويبين كيفية حساب على أهمية بيانات السلاسل الزمنية من النقاط الميزة.

6. متغير اختيار ميزة التباطؤ: حساب ماذا عن بيانات السلاسل الزمنية وعرض نتيجة الاختيار.

1. تحميل البيانات

في هذا البرنامج التعليمي، ونحن سوف يكون مقرها في كيبيك بيانات مبيعات السيارات الشهرية في عام 1960-1968 إلى شرح.

البيانات الأصلية يمكن تحميلها على الرابط التالي:

https://datamarket.com/data/set/22n4/monthly-car-sales-in-quebec-1960-1968

في هذا المثال، فإننا سوف حفظ مجموعات تحميل البيانات لملفات سيارة sales.csv أثناء حذف المعلومات الحاشية في الملف.

واستنادا كود مكتبة الباندا الذي يحمل مجموعة البيانات على النحو التالي، سنقوم بحفظ البيانات إلى كائن السلسلة:

# مؤامرة خط السلاسل الزمنية

من الباندا استيراد سلسلة

من matplotlib pyplot استيراد

# تحميل بيانات

سلسلة = Series.from_csv ( 'سيارة sales.csv، رأس = 0)

# العرض الأول بعض الصفوف

طباعة (series.head (5))

# مؤامرة خط بيانات

series.plot

pyplot.show

بعد عملية الطباعة المذكورة أعلاه حيث الأمثلة هي على النحو التالي (المذكورة هنا الصفوف فقط 5):

شهر

1960-01-016550

1960-02-018728

1960/03/0112026

1960/04/0114395

1960/05/0114587

الاسم: المبيعات، dtype: int64

ويرد بيانات الرسم البياني الكامل أدناه:

2. تجانس

من الرسم البياني يمكننا أن نرى ما هو واضح بيانات مبيعات السيارات الموسمية والاتجاه المتنامي.

هذا التغيير واتجاه النمو الموسمية، على الرغم من حيث التنبؤ رئيسيا سلسلة الميزة، ولكن إذا كنت بحاجة إلى استكشاف نظام آخر يساعدنا على تقديم تسلسل إشارة توقع، فمن الضروري إزالتها.

بشكل عام، سنقوم بإزالة التغييرات الوقت الموسمية واتجاه النمو من تسلسل ثابت يسمى التسلسل.

من أجل القضاء على هذا التفاوت الموسمي، وعادة ما تأخذ نهج يفرق الموسمية التي يتم تكييفها لتوليد ما يسمى السلاسل الزمنية الموسمية (سلسلة زمنية معدلة موسميا).

التغيرات في دورة موسمية للتغيير في هذه الحالة يبدو أن سنة واحدة (12 شهرا). يظهر التعليمة البرمجية التالية كيفية حساب السلاسل الزمنية التكيف الموسم وحفظ النتائج إلى ملف موسميا adjusted.csv.

# موسميا ضبط السلاسل الزمنية

من الباندا استيراد سلسلة

من matplotlib pyplot استيراد

# تحميل بيانات

سلسلة = Series.from_csv ( 'سيارة sales.csv، رأس = 0)

# الفرق الموسمية

differenced = series.diff (12)

# تريم من السنة الأولى من بيانات فارغة

differenced = differenced

# حفظ differenced بيانات إلى ملف

differenced.to_csv ( 'seasonally_adjusted.csv')

# مؤامرة differenced بيانات

differenced.plot

pyplot.show

الرمز، لأن 12 شهرا الأولى من أية بيانات سابقة لحساب الفرق، وبالتالي تجاهل. الفرق الموسمية في النتائج النهائية تم الحصول عليها كما هو مبين أدناه:

وكما يتبين من الشكل، تمكنا من إزالة العملية التفاضلية بسبب التغيرات الموسمية والمعلومات اتجاه النمو.

3. الارتباط الذاتي مؤامرة

تحت المباح، علينا أن نختار السلاسل الزمنية وفقا للمتغيرات الناتج الارتباط.

وهذا ما يسمى الارتباط الذاتي (تلقائي)، وكيفية رسم تضم ترابط تلقائي، وتسمى أيضا ارتباط FIG. يظهر كل شخصية الملاحظة علاقة الارتباط الذاتي تأخر كثيرا، وإذا كانت هذه الارتباطات ذات دلالة إحصائية.

على سبيل المثال، توجه البرمجية التالية بيانات مبيعات السيارات الشهرية تعيين كافة المتغيرات تخلفت مخطط الارتباط.

من الباندا استيراد سلسلة

من statsmodels.graphics.tsaplots plot_acf استيراد

من matplotlib pyplot استيراد

سلسلة = Series.from_csv ( 'seasonally_adjusted.csv، رأس = لا يوجد)

plot_acf (سلسلة)

pyplot.show

بعد ويمكن الحصول على رسم تخطيطي ارتباط، أو وظيفة الارتباط الذاتي (ACF) في FIG، كما هو مبين أدناه على التوالي.

تمثل FIG قيمة التباطؤ محور س، ص المحور بين 1 و هذه أظهرت قيمة ارتباط تأخر السلبية.

وتمثل النقاط المنطقة الزرقاء ذات دلالة إحصائية. وترتبط قيمة التباطؤ 0 الملاحظات تشير 1 يمثل علاقة إيجابية بنسبة 100 مع نفسه.

يمكن أن ينظر إليه، يوضح الشكل فارقا كبيرا في 2 و 12 و 17 شهرا.

يوفر هذا التحليل معيارا جيدا للمقارنة اللاحقة.

4. سلسلة من الوقت لتعلم إشراف

تأخر الملحوظ (على سبيل المثال، تي 1) كمتغيرات المدخلات، والمراقبة الحالية (ر)، ومتغير الإخراج، قد يتم تعيين بيانات مبيعات السيارات الشهرية إلى وحدة تحويل متغير عن طريق التعلم تحت إشراف.

لتحقيق هذا التحويل، التعليمة البرمجية التالية نسميه الباندا ظيفة التحول المكتبة، يمكننا خلق طابور جديد للقيم المرصودة تحويلها من وظيفة التحول.

في المثال التالي، أنشأنا سلسلة زمنية جديدة التي تحتوي على قيمة التباطؤ من 12 شهرا، من أجل التنبؤ الملاحظات الحالية.

رمز 12 يشير إلى الهجرة أشهر قبل خط البيانات 12 غير متوفر، لأنها تحتوي على قيمة نان.

من الباندا استيراد سلسلة

من الباندا DataFrame استيراد

# تحميل بيانات

سلسلة = Series.from_csv ( 'seasonally_adjusted.csv، رأس = لا يوجد)

# إعادة صياغة كما تعلم إشراف

dataframe = DataFrame

لأنني في مجموعة (12،0، -1):

dataframe series.shift (ط)

dataframe series.values

طباعة (dataframe.head (13))

dataframe = dataframe

# حفظ لملف جديد

dataframe.to_csv ( 'lags_12months_features.csv، مؤشر = خطأ)

ويرد أدناه المطبوعة، حيث خط البيانات 12 لم يتوفر من قبل.

سوف نقوم بحذف البيانات من 12 الصفوف الأولى، ومن ثم حفظ النتائج في ملف lags_12months_features.csv.

في الواقع، وهذه العملية يمكن تكرار أي حجم خطوة الزمن، مثل 6 أو 24 شهرا، والأصدقاء المهتمين أن تجرب بنفسك.

أهمية التباطؤ متغير مميزة

مختلف أشجار القرار والغابات العشوائية، على سبيل المثال، حصل الأشجار وما شابه ذلك، ويمكن استخدامها لحساب القيم الذاتية للدرجة الأهمية.

وهذا هو الاستعمال الشائع لتعلم الآلة من أجل تقييم فعالية الفعالية النسبية لميزة الإدخال في تطوير نماذج تنبؤية.

هنا، ونحن نذهب من خلال رصيده الى مساعدة التنبؤ الأهمية النسبية للميزة إدخال تقييم السلاسل الزمنية.

وهذا أمر مهم، ليس فقط لأننا يمكن أن تصميم تأخر احظ فوق الميزات المذكورة، ويمكن أيضا أن تصمم على أساس أنواع أخرى من الطابع الزمني الملاحظة والإحصاءات وغيرها من الميزات التمرير. ولذلك، فإن أهمية من الميزات هي فعالة جدا عندما يكون الترتيب واختيار يتميز الأسلوب.

في المثال التالي، حملنا رأي التعلم إشراف على مجموعة البيانات التي تم إنشاؤها، ثم استخدام نموذج غابة عشوائية (متاحة RandomForestRegressor)، يلخص خصائص 12 متخلفة نسبيا لوحظ في كل من درجة أهمية .

هذا يستخدم عدد كبير من الأشجار لضمان استقرار النتيجة. وبالإضافة إلى ذلك، كنا تتم تهيئة البذور العشوائي (تهيئة البذور رقم عشوائي)، على أن يضمن للحصول على نفس النتيجة في كل مرة يتم تشغيل التعليمات البرمجية.

من الباندا read_csv استيراد

من sklearn.ensemble RandomForestRegressor استيراد

من matplotlib pyplot استيراد

# تحميل البيانات

dataframe = read_csv ( 'lags_12months_features.csv، رأس = 0)

مجموعة = dataframe.values

# انقسام في المدخلات والمخرجات

X = مجموعة

ص = مجموعة

# نموذج الغابات عشوائي صالح

نموذج = RandomForestRegressor (n_estimators = 500، random_state = 1)

model.fit (X، Y)

# عشرات مشاهدة أهمية

طباعة (model.feature_importances_)

# عشرات مؤامرة أهمية

أسماء = dataframe.columns.values

القراد =

pyplot.bar (القراد، model.feature_importances_)

pyplot.xticks (القراد، وأسماء)

pyplot.show

بعد تشغيل المثال، أول الطباعة التباطؤ الملاحظات درجة أهمية، كما هو مبين أدناه.

ثم تآمر النتيجة مثل رسم بياني شريطي، كما هو مبين في الشكل.

عروض لاحظت الأهمية النسبية لقيمة الحد الأقصى تي 12 أرقام، تليها تي 2 و تي 4.

يمكن للأصدقاء المهتمين بدراسة الاختلافات في نتائج ارتباط الرسم البياني السيارات بعناية.

في الواقع، قد يكون هناك أيضا التدرج المستخدمة تعزيز والأشجار اضافية، وأشجار القرار حصل أو ما شابه ميزات درجة أهمية ويمكن حساب بدلا نموذج غابة عشوائية أيضا.

6. متغير التباطؤ اختيار ميزة

ويمكننا أيضا اختيار لتحديد تلقائيا واختر معظم ميزة إدخال التنبؤية التي كتبها الميزة.

حاليا، وطريقة اختيار الميزة الأكثر شعبية متكررة اختيار ميزة (العودية ميزة التحديد، RFE).

RFE يمكن إنشاء النماذج التنبؤية من القيم الذاتية نظرا أوزان مختلفة، وحذف تلك الأوزان أصغر الميزات، بتكرار هذه العملية، وفي نهاية المطاف سوف تكون قادرة على الحصول على العدد المطلوب من الميزات.

في المثال التالي، ونحن لشرح كيفية تحديد الميزات التي RFE والغابات عشوائية النموذج، والتي من المتوقع أن تولي اهتماما للعدد من مجموعة ميزة الإدخال هو 4.

من الباندا read_csv استيراد

من sklearn.feature_selection RFE استيراد

من sklearn.ensemble RandomForestRegressor استيراد

من matplotlib pyplot استيراد

# تحميل بيانات

dataframe = read_csv ( 'lags_12months_features.csv، رأس = 0)

# فصل إلى متغيرات المدخلات والمخرجات

مجموعة = dataframe.values

X = مجموعة

ص = مجموعة

# نفذ اختيار ميزة

RFE = RFE (RandomForestRegressor (n_estimators = 500، random_state = 1)، 4)

صالح = rfe.fit (X، Y)

# ميزات تقرير المختارة

طباعة ( 'الميزات المحددة:')

أسماء = dataframe.columns.values

لأنني في مجموعة (ليون (fit.support_)):

إذا fit.support_ :

طباعة (أسماء )

# مؤامرة رتبة ميزة

أسماء = dataframe.columns.values

القراد =

pyplot.bar (القراد، fit.ranking_)

pyplot.xticks (القراد، وأسماء)

pyplot.show

بعد تشغيل المثال أعلاه، يمكن الحصول على أربعة ميزة مرشح.

الميزات المختارة:

تي 12

تي 6

تي 4

تي 2

مرئية، هذه النتيجة تتفق مع نتائج على درجة من الأهمية.

وفي الوقت نفسه، فإن البرنامج أيضا بإنشاء الرسم البياني شريط كما هو مبين أدناه، ويظهر الرسم البياني لفرز اختيار كل الخصائص مرشح الإدخال (والعدد الأصغر، كان ذلك أفضل).

أيضا، يمكن للأصدقاء المهتمين أيضا تعيين عدد مختلف من الميزات المتوقعة، أو تغيير البعض من النموذج مع الغابات عشوائية.

ملخص

في هذا البرنامج التعليمي، لدينا وقت اختيار ميزة البيانات سلسلة شرح كيفية التعلم من خلال الأدوات الآلية على سبيل المثال التعليمات البرمجية.

على وجه التحديد، قدمنا على النقاط الثلاث التالية:

كيفية شرح الملاحظ تأخر ارتباط مخطط له أهمية كبرى.

أهمية كيفية حساب خصائص بيانات السلاسل الزمنية وعرض العشرات.

تحديد كيفية استخدام البيانات ميزة السلاسل الزمنية لتحديد معظم المتغيرات المدخلات ذات الصلة.

المصدر: machinelearningmastery، شبكة لى فنغ المترجمة

يوصي 10 سوبر لطيف الدراما، تشاهد قدمت عدة

الرعاية الحد | إلكتروني الصغير للحصول على اطلاق سراح اثنين من الكتب، وكذلك الحصول على عضوية مدى الحياة

جيانغسو مصنع للمواد الكيميائية الانفجار: يصطف الناس على التبرع بالدم وصلت آلاف كافية مل من مصدر الدم

فان جوخ تكنولوجيا من الطراز النوبي Z18 الصورة القادمة سحر أكثر فنية

"قطعة واحدة تجد العالم السري"، وأعلن عن خطة جديدة أو موجات كبيرة قد تسللوا الى العناصر

إلهة صورة بالأبيض والأسود من القرن الماضي، والأوقات التي هي "مثير" التجسد

الجديد يجب أن نرى! سير العمل بكفاءة، يعلمك أن تثير PPT (الموارد المدرجة) 0-1

على الفور OPPOvivo! الشمس لين بن الدخن MIX 35G اختبار، أعلنت والحصول على النجاح من خلال 5G الإشارات

قضيت المال لاستضافة المباراة، اشترى الفرق اللص تجربة لعبة الممرات

الآسيوية NO.1 إلهة، انها ليست سوى الولايات المتحدة وكذلك التمثيل المتعمد!

الجديد يجب أن نرى! يعلمك إلى جعل PPT (الموارد المدرجة) 0-1

أقول حقا! تشنغ شياو تدفق يجرؤ على نجمة الاستخدام: الرجال يريدون أن يكونوا مثل الرجال، امرأة امرأة!