بناء محفظة أصول تشفير قوية باستخدام استراتيجيات متعددة العوامل: المعالجة المسبقة للبيانات

الديباجة

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

يجب معالجة البيانات قبل / بعد حساب بيانات العامل ، وقبل اختبار صحة العامل الفردي. تتضمن المعالجة المسبقة للبيانات المحددة معالجة القيم المكررة والقيم المتطرفة / القيم المفقودة / القيم القصوى والتطبيع وتكرار البيانات.

I. القيم المكررة

التعاريف المتعلقة بالبيانات:

  • مفتاح: يشير إلى فهرس فريد. مثل. بالنسبة للبيانات التي تحتوي على جميع تواريخ جميع الرموز المميزة ، يكون المفتاح هو “token_id/contract_address - date”
  • القيمة: الكائن الذي تتم فهرسته بواسطة المفتاح يسمى “القيمة”.

يبدأ تشخيص القيم المكررة بفهم الشكل الذي “ينبغي” أن تبدو عليه البيانات. عادة ما تكون البيانات في شكل:

  1. بيانات السلاسل الزمنية. المفتاح هو “الوقت”. على سبيل المثال 5 سنوات من بيانات الأسعار لرمز واحد
  2. بيانات المقطع العرضي. المفتاح هو “الفرد”. EG.2023.11.01 بيانات الأسعار لجميع الرموز المميزة في سوق العملات المشفرة في ذلك اليوم
  3. لوحة. المفتاح هو مزيج من “الوقت الفردي”. على سبيل المثال بيانات أسعار جميع الرموز المميزة من 2019.01.01 - 2023.11.01 لمدة أربع سنوات.

المبدأ: بمجرد تحديد فهرس (مفتاح) البيانات ، يمكنك معرفة المستوى الذي يجب ألا تحتوي فيه البيانات على قيم مكررة.

طريقة التحقق:

  1. PD. DataFrame.duplicated(subset=[key1, key2, …])

    1. تحقق من عدد القيم المكررة: pd. DataFrame.duplicated(subset=[key1, key2, …]). sum()
    2. عينة لرؤية العينات المكررة: df [df.duplicated (subset = […])]. sample() ، ثم استخدم df.loc لتحديد كافة العينات المكررة المقابلة للفهرس
  2. pd.merge (df1 ، df2 ، on = [key1 ، key2 ، …] ، المؤشر = true ، التحقق من الصحة = ‘1: 1’)

    1. أضف معلمة المؤشر إلى وظيفة الدمج الأفقي ، وسيتم إنشاء حقل _merge ، ويمكنك استخدام dfm[‘_merge’].value_counts() للتحقق من عدد العينات من مصادر مختلفة بعد الدمج
    2. أضف المعلمة validate للتحقق مما إذا كانت الفهارس في مجموعة البيانات المدمجة كما هو متوقع (1 إلى 1 ، 1 إلى كثير ، أو كثير إلى كثير ، لم يتم التحقق من صحة الحالة الأخيرة بالفعل). إذا لم تكن النتائج كما هو متوقع ، الإبلاغ عن خطأ وسيتم إحباط التنفيذ.

**2. القيم المتطرفة / القيم المفقودة / القيم المتطرفة **

الأسباب الشائعة للقيم المتطرفة:

  1. ** الحالات القصوى **. على سبيل المثال ، إذا كان سعر الرمز المميز هو 0.000001 دولار أو رمز مميز بقيمة سوقية تبلغ 500,000 دولار فقط ، فسيكون للتغيير الطفيف معدل عائد عشرات المرات.
  2. خصائص البيانات. على سبيل المثال ، إذا تم تنزيل بيانات سعر الرمز المميز من 1 يناير 2020 ، فمن المستحيل بطبيعة الحال حساب بيانات الإرجاع في 1 يناير 2020 ، لأنه لا يوجد سعر إغلاق في اليوم السابق.
  3. خطأ في البيانات. سيرتكب مقدمو البيانات أخطاء حتما ، مثل تسجيل 12 يوانا لكل رمز مميز على أنه 1.2 يوان لكل رمز مميز.

مبادئ التعامل مع القيم المتطرفة والقيم المفقودة:

  1. حذف. يمكن اعتبار القيم المتطرفة التي لا يمكن تصحيحها أو تصحيحها بشكل معقول للحذف.
  2. استبدال. غالبا ما يستخدم للتعامل مع القيم المتطرفة ، مثل Winsorizing أو اللوغاريتمات (التي لا يشيع استخدامها).
  3. ملء. بالنسبة للقيم المفقودة ، يمكنك أيضا التفكير في الملء بطريقة معقولة ، وتشمل الطرق الشائعة القيم المتوسطة (أو المتوسطات المتحركة) ، والاستيفاء ، وملء 0 df.fillna (0) ، و df.fillna الأمامي (‘ffill’) / التعبئة الخلفية df.fillna (‘bfill’) ، وما إلى ذلك ، للنظر فيما إذا كانت الافتراضات التي يعتمد عليها الحشو صحيحة.

يجب استخدام التعلم الآلي بحذر لردم التحزيق والمخاطرة بالتحيز التطلعي

التعامل مع القيم المتطرفة:

  1. طريقة النسبة المئوية.

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

2.3σ / طريقة الانحراف المعياري الثلاثي

يعكس عامل الانحراف المعياري درجة تشتت توزيع بيانات العامل ، أي التقلب. تم استخدام نطاق μ±3×σ لتحديد واستبدال القيم المتطرفة في مجموعة البيانات ، وحوالي 99.73٪ من البيانات تقع في النطاق. فرضية هذه الطريقة هي أن بيانات العامل يجب أن تطيع التوزيع الطبيعي ، أي X∼N (μ، σ2).

حيث μ=∑ⁿi₌₁⋅Xi/N, σ²=∑ⁿi₌₁=(xi-μ)²/n، النطاق المعقول لقيم العوامل هو [μ−3×σ، μ+3×σ].

قم بإجراء التعديلات التالية على جميع العوامل في نطاق البيانات:

用多因子策略构建强大的加密资产投资组合 :数据预处理篇

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

3.绝对值差中位数法(متوسط الانحراف المطلق، MAD)

تعتمد الطريقة على التحيز المتوسط والمطلق ، مما يجعل البيانات المعالجة أقل حساسية للتطرف أو القيم المتطرفة. أكثر قوة من الطرق القائمة على المتوسط والانحراف المعياري.

متوسط الانحراف المطلق MAD = الوسيط ( ∑ⁿi₌₁ (Xi - Xmedian))

النطاق المعقول لقيم العوامل هو [Xmedian-n×MAD, Xmedian + n×MAD]. قم بإجراء التعديلات التالية على جميع العوامل في نطاق البيانات:

用多因子策略构建强大的加密资产投资组合 :数据预处理篇

التعامل مع حالات القيمة القصوى لبيانات العوامل

فئة المتطرفة (الكائن): def init (s, ini_data): s.ini_data = ini_data

def three_sigma (s,n=3):
    يعني = s.ini_data.mean ()
    الأمراض المنقولة جنسيا = s.ini_data.std ()
    منخفض = متوسط - n * std
    مرتفع = متوسط + n * std
    إرجاع np.clip (s.ini_data ، منخفض ، مرتفع)

def mad (s، n = 3):
    الوسيط = s.ini_data.median()
    mad_median = القيمة المطلقة (s.ini_data - الوسيط).الوسيط ()
    مرتفع = الوسيط + n * mad_median
    منخفض = الوسيط - ن * mad_median
    إرجاع np.clip (s.ini_data ، منخفض ، مرتفع)

Def الكمية (s ، l = 0.025 ، h = 0.975):
    منخفض = s.ini_data.quantile(l)
    عالية = s.ini_data.quantile(h)
    إرجاع np.clip (s.ini_data ، منخفض ، مرتفع)

**III. التوحيد القياسي **

  1. توحيد درجة Z
  • المتطلب السابق: X N (μ ، σ)
  • نظرا لاستخدام الانحراف المعياري ، فإن هذه الطريقة حساسة للقيم المتطرفة في البيانات

x’i = (x − μ) / σ = (X − يعني (X)) )) / std (X) 2.Min-Max التحجيم

يسمح تحويل كل عامل إلى بيانات في الفاصل الزمني (0,1) بمقارنة البيانات ذات الأحجام أو النطاقات المختلفة ، لكنه لا يغير التوزيع داخل البيانات ولا يجعل المجموع 1.

  • حساسة للقيم المتطرفة بسبب النظر في الحد الأقصى للقيمة الدنيا ** البعد الموحد ** ، والذي يفضي إلى مقارنة البيانات من أبعاد مختلفة.

x’i=(xi−min(x))/max(x)-min(x)3.排序百分位(Rank Scaling)

قم بتحويل معالم البيانات إلى تصنيفاتها ، وقم بتحويل هذه التصنيفات إلى درجات بين 0 و 1 ، وعادة ما تكون النسب المئوية في مجموعة البيانات. *

نظرا لأن التصنيفات لا تتأثر بالقيم المتطرفة ، فإن هذه الطريقة ليست حساسة للقيم المتطرفة. **

  • بدلا من الحفاظ على المسافة المطلقة بين النقاط في البيانات ، يتم تحويلها إلى ترتيب نسبي.

NormRanki = (Rank ₓi − min (Rank ₓi)) / max (Rank ₓ) −min (Rank ₓ) = Rank ₓi / N

min(Rankₓ)=0، حيث N هو العدد الإجمالي لنقاط البيانات في الفاصل الزمني.

تطبيع بيانات العامل

مقياس الفئة (كائن): def init (ق، ini_data، تاريخ): s.ini_data = ini_data s.date = التاريخ

ديف زسكور (ق):
    يعني = s.ini_data.mean ()
    الأمراض المنقولة جنسيا = s.ini_data.std ()
    إرجاع s.ini_data.sub (يعني) .div (الأمراض المنقولة جنسيا)
  
ديف ماكسمين (ق):
    دقيقة = s.ini_data.min()
    الحد الأقصى = s.ini_data.max()
    إرجاع s.ini_data.sub (دقيقة) .div (الحد الأقصى - الحد الأدنى)

def normRank (s):
    # ترتيب الأعمدة المحددة ، الطريقة = "min" تعني أن نفس القيمة سيكون لها نفس الترتيب ، وليس متوسط الترتيب
    الرتب = s.ini_data.rank (الطريقة = 'min') 
    إرجاع الرتب.div (الرتب.max())

رابعا: تردد البيانات

في بعض الأحيان لا تكون البيانات التي تم الحصول عليها متكررة كما نحتاج لتحليلنا. على سبيل المثال ، إذا كان مستوى التحليل شهريا وكان تكرار البيانات الأولية يوميا ، فأنت بحاجة إلى استخدام “الاختزال” ، أي أن البيانات المجمعة شهرية.

اختزال العينات

يشير إلى تجميع البيانات في مجموعة في صف من البيانات ، مثل تجميع البيانات اليومية في بيانات شهرية. في هذه الحالة ، من الضروري مراعاة خصائص كل مؤشر مجمع ، والعمليات المعتادة هي:

  • القيمة الأولى / القيمة الأخيرة
  • المتوسط / الوسيط *الانحراف المعياري

**العينة **

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

Falcon (/) هو جيل جديد من البنية التحتية الاستثمارية ل Web3 يعتمد على نموذج متعدد العوامل يساعد المستخدمين على “تحديد” و “شراء” و “إدارة” و “بيع” أصول التشفير. تم احتضان فالكون من قبل لوسيدا في يونيو 2022.

يتوفر المزيد من المحتوى للزيارة

شاهد النسخة الأصلية
قد تحتوي هذه الصفحة على محتوى من جهات خارجية، يتم تقديمه لأغراض إعلامية فقط (وليس كإقرارات/ضمانات)، ولا ينبغي اعتباره موافقة على آرائه من قبل Gate، ولا بمثابة نصيحة مالية أو مهنية. انظر إلى إخلاء المسؤولية للحصول على التفاصيل.
  • أعجبني
  • تعليق
  • إعادة النشر
  • مشاركة
تعليق
إضافة تعليق
إضافة تعليق
لا توجد تعليقات
  • Gate Fun الساخن

    عرض المزيد
  • القيمة السوقية:$2.4Kعدد الحائزين:1
    0.78%
  • القيمة السوقية:$0.1عدد الحائزين:1
    0.00%
  • القيمة السوقية:$0.1عدد الحائزين:0
    0.00%
  • القيمة السوقية:$2.29Kعدد الحائزين:2
    0.07%
  • القيمة السوقية:$2.27Kعدد الحائزين:0
    0.00%
  • تثبيت