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

لذلك ، دون اتباع المبدأ الذي يتطلب منك البدء في تقديم فكرة في أول 48 ساعة ، بعد عدة أشهر ، أجريت القليل من البحث لاختبار شكوكي. تذكير مقال عن Gismeteo .
البيانات
كانت الخطوة الأولى للحصول على البيانات. كما اتضح ، فإن إيجاد متوسط درجات الحرارة اليومية ليس سهلاً كما قد يبدو. بعد خمس دقائق من googling ، صادفت سؤالاً عن محمصة الخبز ، حيث وصلت إلى الموقع www.ncdc.noaa.gov . لكن البيانات المستلمة لم ترضيني (الكثير من الإغفالات في التواريخ) ، استمر في googling ، حصلت على ما كنت أبحث عنه على الموقع http://aisori-m.meteo.ru/waisori/ .
جزء من البيانات:
29645 1955 1 1 "-31.0" 29645 1955 1 2 "-23.8" 29645 1955 1 3 "-18.7" 29645 1955 1 4 "-13.3" 29645 1955 1 5 "-16.8" 29645 1955 1 6 "-16.8" 29645 1955 1 7 "-18.6" 29645 1955 1 8 "-17.0" 29645 1955 1 9 "-6.7" 29645 1955 1 10 "-10.4"
الحصول على درجات حرارة سنوية مع تعويض
بادئ ذي بدء ، قمت بتحويل ملف csv
مع البيانات إلى مصفوفة من الكائنات.
ثم كتب دالة ترجع عامًا من المصفوفة مع إزاحة عدد معين من الأيام.
بمزيد من التفصيل ، لدينا مثل هذه القطعة من الصفيف:
... 1955 12 29 -34.5 1955 12 30 -37.7 1955 12 31 -36.3 1956 1 1 -29.2 1956 1 2 -32.9 1956 1 3 -38.1 1956 1 4 -36.6 ...
إذا طلبت جميع بيانات عام 1956 في الوظيفة ، فسيتم إرجاعها ببساطة ، وإذا طلبت بيانات مع إزاحة -1 يوم ، فسيتم قياس درجة الحرارة لكل يوم من اليوم السابق. أي ، في 1 يناير 1956 ، سيتم أخذ درجة الحرارة في 31 ديسمبر 1955
... 1956 1 1 -36.3 ← ( 1955 12 31) 1956 1 2 -29.2 ← ( 1956 1 1) 1956 1 3 -32.9 ← ( 1956 1 2) 1956 1 4 -38.1 ← ( 1956 1 3) ...
الحصول على متوسط درجة الحرارة الشهرية
في شريحة الصفيف الناتجة عن السنة ، قمت بحساب متوسط درجات الحرارة الشهرية ، وبالتالي الحصول على متجه درجة الحرارة للسنة.
[ -16.716129032258067, -16.317857142857143, -17.690322580645155, -11.57333333333333, 0.3967741935483872, 9.163333333333332, 17.845161290322586, 17.225806451612904, 15.490000000000004, 9.922580645161291, 1.7233333333333334, -8.26774193548387 ]
المسافة بين سنوات الإزاحة
إذا كان لدي ناقل درجة حرارة لمدة عام ، فيمكنني مقارنة المسافة بين المتجهات.
أي أنه إذا كان الطقس لم يتغير على الإطلاق من عام إلى آخر ، فستكون المسافة بين المتجهات صفرًا. من هنا قررت أن أقارن ، على سبيل المثال ، ناقل عام 2001 وجميع ناقلات عام 2002 التي تم الحصول عليها بواسطة الإزاحة.
... 2001 == 2002 -2 2001 == 2002 -1 2001 == 2002 2001 == 2002 +1 2001 == 2002 +2 ...
بعد أخذ تعويض تلك المقارنة ، حيث تكون المسافة بين المتجهات ضئيلة. أي ، إذا اتضح أن المسافة بين 2001
و 2002 +2
الحد الأدنى ، فقد تم تغيير موسم 2002 قبل يومين مقارنة بعام 2001.
بالنظر إلى المستقبل ، سأقول أنني أخذت عام 1956 للسنة الأولى ونظرت إلى التحول لمدة 30 يومًا ذهابًا وإيابًا.
قمت ببرمجة الخوارزمية على js وقمت بإنشاء موقع صغير للتحقق بسهولة.
كود المصدر على جيثب .
التحقق من الافتراضات
كيميروفو
أجل! بدأت المواسم تتغير بشكل أسرع من عام 2013 بـ 10 أيام ، وفي المتوسط منذ عام 1956 بـ 8 أيام!

موسكو
لا يوجد أي نزوح تقريبًا.

أرخانجيلسك

كالينينغراد

سانت بطرسبرغ

تيومين

فلاديفوستوك

الخلاصة
لم يتم خداع الإحساس ، ولكن لا تزال هناك حاجة لفحص الأحاسيس.
PS في الواقع ، كنت أبحث عن نوفوسيبيرسك. على موقع نوفوسيبيرسك لم يكن ، لكن كيميروفو كنت راضية تمامًا.
PPS كما اتضح بعد ذلك بقليل ، كان الملف مفقودًا في عام 2018 ، وكنت بحاجة في شهر يناير ، لذلك قمت بتنزيل الشهر المفقود من موقع pogodaiklimat.ru .