در این مطلب، ویدئو پیش بینی سری های زمانی چند متغیره (مدل VAR)| آموزش کامل پایتون با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 00:15:00
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:00,160 –> 00:00:02,000
سلام به همه، نام من ranchiket است و
2
00:00:02,000 –> 00:00:03,600
به ویدیوی دیگری
3
00:00:03,600 –> 00:00:05,040
در این ویدیو خوش آمدید، من شما را
4
00:00:05,040 –> 00:00:06,720
از طریق یک پروژه
5
00:00:06,720 –> 00:00:08,960
کامل پیاده سازی رگرسیون ترتیب برداری
6
00:00:08,960 –> 00:00:10,639
در مدل سری زمانی راهنمایی می
7
00:00:10,639 –> 00:00:12,400
کنم، بنابراین من چندین ویدیو در مورد پیش بینی سری های زمانی ساخته ام و چندین ویدیو
8
00:00:12,400 –> 00:00:13,840
وجود دارد
9
00:00:13,840 –> 00:00:15,120
. درخواست
10
00:00:15,120 –> 00:00:16,960
برای پیاده سازی یک
11
00:00:16,960 –> 00:00:19,119
مدل رگرسیون ترتیب برداری و طبق معمول من تمام
12
00:00:19,119 –> 00:00:21,039
تلاشم را کرده ام تا مطمئن شوم که
13
00:00:21,039 –> 00:00:22,560
کدی که
14
00:00:22,560 –> 00:00:24,640
ارائه می کنم ساده ترین خواهد بود
15
00:00:24,640 –> 00:00:26,240
و مطمئنم تا پایان این ویدیو
16
00:00:26,240 –> 00:00:27,840
هیچ شکی نخواهید داشت
17
00:00:27,840 –> 00:00:29,199
و من شما را از طریق
18
00:00:29,199 –> 00:00:31,359
فرآیند کامل دریافت داده ها
19
00:00:31,359 –> 00:00:33,360
راهنمایی می کنم که چگونه آنها را از قبل پردازش کنید و ابتدا چه
20
00:00:33,360 –> 00:00:34,800
مراحلی را باید بردارید
21
00:00:34,800 –> 00:00:37,360
و سپس چگونه سری های زمانی خود را پیش بینی کنید.
22
00:00:37,360 –> 00:00:38,719
آینده
23
00:00:38,719 –> 00:00:40,879
با استفاده از مدل رگرسیون برداری، پس
24
00:00:40,879 –> 00:00:42,960
بیایید با آن شروع کنیم
25
00:00:42,960 –> 00:00:44,879
و این کدی است که من از
26
00:00:44,879 –> 00:00:46,800
آن استفاده خواهم کرد اگر بخواهید
27
00:00:46,800 –> 00:00:48,559
رگرسیون ترتیب برداری را عمیقاً
28
00:00:48,559 –> 00:00:50,480
درک کنید، شهود ریاضیات پشت آن را
29
00:00:50,480 –> 00:00:52,480
که قبلاً گفته ام در این ویدیو ویدیویی در این مورد ساخته
30
00:00:52,480 –> 00:00:53,920
ام، من بر روی
31
00:00:53,920 –> 00:00:55,760
جنبه پیاده سازی تمرکز می کنم،
32
00:00:55,760 –> 00:00:57,600
بنابراین با وارد کردن تمام کتابخانه های لازم شروع
33
00:00:57,600 –> 00:00:59,120
34
00:00:59,120 –> 00:01:01,440
می کنیم و توضیح می دهم که به چه کتابخانه
35
00:01:01,440 –> 00:01:02,480
هایی نیاز داریم، همانطور که
36
00:01:02,480 –> 00:01:05,199
همراه با کد حرکت می کنیم و اگر به اینجا بروید شما
37
00:01:05,199 –> 00:01:06,159
نمی دانید رگرسیون بردار یا
38
00:01:06,159 –> 00:01:07,680
ترتیبی چیست، من فقط می
39
00:01:07,680 –> 00:01:09,200
خواهم یک خلاصه از آن را به شما بگویم این
40
00:01:09,200 –> 00:01:10,320
معادله به نظر می رسد
41
00:01:10,320 –> 00:01:12,799
و شما اساساً از رگرسیون برداری استفاده می کنید
42
00:01:12,799 –> 00:01:14,320
که دو یا چند سری زمانی وجود دارد
43
00:01:14,320 –> 00:01:16,320
که به یکدیگر وابسته هستند.
44
00:01:16,320 –> 00:01:18,799
به عنوان مثال، معمولاً در رگرسیون خودکار،
45
00:01:18,799 –> 00:01:20,159
کاری که ما انجام می دهیم این است
46
00:01:20,159 –> 00:01:21,680
که می خواهیم در آینده پیش بینی
47
00:01:21,680 –> 00:01:23,759
کنیم و از
48
00:01:23,759 –> 00:01:25,600
مقادیر قبلی، وقفه های زمانی قبلی یک
49
00:01:25,600 –> 00:01:27,600
سری زمانی خاص برای پیش بینی
50
00:01:27,600 –> 00:01:28,400
آینده
51
00:01:28,400 –> 00:01:30,479
در پشت به منظور رگرسیون استفاده می کنیم، فرض
52
00:01:30,479 –> 00:01:32,159
می کنیم که دو عدد وجود دارد. سریهای زمانی که
53
00:01:32,159 –> 00:01:32,640
54
00:01:32,640 –> 00:01:35,200
همبستگی دارند، بنابراین وقتی در حال چاپ در
55
00:01:35,200 –> 00:01:37,520
سریهای زمانی هستیم، فرض کنید y1
56
00:01:37,520 –> 00:01:39,840
از تأخیر قبلی
57
00:01:39,840 –> 00:01:41,200
y one که y یک t
58
00:01:41,200 –> 00:01:43,840
منهای یک است و همچنین تأخیر زمانی قبلی در
59
00:01:43,840 –> 00:01:44,240
60
00:01:44,240 –> 00:01:46,560
زمان دیگری استفاده میکنیم. سری y دو
61
00:01:46,560 –> 00:01:47,920
به طور مشابه می توانید به
62
00:01:47,920 –> 00:01:49,759
معادله y دو نیز نگاه کنید که
63
00:01:49,759 –> 00:01:50,399
هم
64
00:01:50,399 –> 00:01:52,560
به لاگ قبلی y دو و هم
65
00:01:52,560 –> 00:01:54,720
به تاخیر قبلی خرید یکی بستگی دارد
66
00:01:54,720 –> 00:01:56,960
، این مفهوم اساسی است و
67
00:01:56,960 –> 00:01:58,960
با جزئیات بیشتر در توضیح داده ام.
68
00:01:58,960 –> 00:02:01,040
ویدیوی تئوری دیگر من اما در این فقط
69
00:02:01,040 –> 00:02:02,799
بر روی نحوه اجرای واقعی آن تمرکز می
70
00:02:02,799 –> 00:02:03,119
کنم،
71
00:02:03,119 –> 00:02:04,799
بنابراین برای شروع، اجازه دهید ابتدا با
72
00:02:04,799 –> 00:02:06,399
مجموعه داده شروع کنیم، من کل این کد را ارائه می دهم
73
00:02:06,399 –> 00:02:07,680
و
74
00:02:07,680 –> 00:02:09,520
همچنین با وارد کردن یک مجموعه داده شروع می کنیم و
75
00:02:09,520 –> 00:02:11,920
دریافت می کنم مجموعه ای از داده ها از این پیوند github
76
00:02:11,920 –> 00:02:13,920
و حاوی اطلاعات زیادی
77
00:02:13,920 –> 00:02:15,920
از اقتصاد یک کشور خاص است،
78
00:02:15,920 –> 00:02:18,000
مانند تولید ناخالص ملی واقعی،
79
00:02:18,000 –> 00:02:19,599
محصول متقابل ملی بالقوه و
80
00:02:19,599 –> 00:02:20,879
چیزهایی مانند
81
00:02:20,879 –> 00:02:22,480
اولین قدم البته خواندن مجموعه داده
82
00:02:22,480 –> 00:02:24,319
هایی است که ما انجام می دهیم. در اینجا با استفاده از دستور خواندن
83
00:02:24,319 –> 00:02:25,840
underscore csv
84
00:02:25,840 –> 00:02:28,400
، آدرس اینترنتی داده ها را ارائه کردیم و
85
00:02:28,400 –> 00:02:29,280
86
00:02:29,280 –> 00:02:31,920
تاریخ های گذشته را برابر با ستون تاریخ ذکر کردیم، این اطمینان حاصل می کند
87
00:02:31,920 –> 00:02:32,640
88
00:02:32,640 –> 00:02:35,040
که پانداها متوجه می شوند که
89
00:02:35,040 –> 00:02:37,360
ستون تاریخ دارای مقادیر تاریخ است و آن را شبیه به
90
00:02:37,360 –> 00:02:38,879
آن نمی کند. یک رشته
91
00:02:38,879 –> 00:02:41,280
بعد از آن، ستون شاخص را به عنوان تاریخ ذکر می کنیم
92
00:02:41,280 –> 00:02:42,080
93
00:02:42,080 –> 00:02:43,760
و در اینجا
94
00:02:43,760 –> 00:02:45,200
من شکل را چاپ می کنم و
95
00:02:45,200 –> 00:02:46,800
پنج مقدار اول را چاپ می کنم تا بتوانید
96
00:02:46,800 –> 00:02:47,360
نگاهی بیندازید
97
00:02:47,360 –> 00:02:49,120
و مجموعه داده های من به این شکل است.
98
00:02:49,120 –> 00:02:50,879
اینها سریهای زمانی هستند که
99
00:02:50,879 –> 00:02:51,440
حدوداً
100
00:02:51,440 –> 00:02:53,519
سه سریهای زمانی چهار پنج شش هفت هشتگانه
101
00:02:53,519 –> 00:02:56,000
هستند و ۱۲۳ ردیف
102
00:02:56,000 –> 00:02:57,440
کاملاً درست است و نیازی نیست بدانید
103
00:02:57,440 –> 00:02:59,440
که اینها چه چیزی را نشان
104
00:02:59,440 –> 00:03:00,879
105
00:03:00,879 –> 00:03:02,239
میدهند.
106
00:03:02,239 –> 00:03:05,120
و rgnp اساساً مخفف
107
00:03:05,120 –> 00:03:07,599
محصول ناخالص ملی واقعی است pgnp مخفف
108
00:03:07,599 –> 00:03:10,319
تولید ناخالص ملی بالقوه و ulc
109
00:03:10,319 –> 00:03:11,599
هزینه کار واحد است
110
00:03:11,599 –> 00:03:13,200
بقیه اطلاعاتی را که میتوانید
111
00:03:13,200 –> 00:03:15,360
در URL مجموعه داده پیدا کنید و همچنین
112
00:03:15,360 –> 00:03:17,760
اولین قدم همیشه ترسیم یک مجموعه داده
113
00:03:17,760 –> 00:03:19,760
برای به دست آوردن است. احساسی از اینکه داده ها واقعاً شبیه چه چیزی هستند
114
00:03:19,760 –> 00:03:20,560
115
00:03:20,560 –> 00:03:22,159
و برای این منظور از
116
00:03:22,159 –> 00:03:23,680
کتابخانه matplotlib استفاده
117
00:03:23,680 –> 00:03:25,840
می کنم، اساساً چند طرح فرعی ایجاد می کنم
118
00:03:25,840 –> 00:03:27,519
زیرا چندین سری زمانی دارم،
119
00:03:27,519 –> 00:03:29,200
چهار ردیف
120
00:03:29,200 –> 00:03:31,680
و دو ستون ایجاد خواهم کرد تا بتوانم داشته باشم چهار
121
00:03:31,680 –> 00:03:33,280
به دو برابر
122
00:03:33,280 –> 00:03:36,400
هشت قطعه در یک گروه منفرد و
123
00:03:36,400 –> 00:03:38,080
اساساً
124
00:03:38,080 –> 00:03:40,400
تمام ستونها را یکی یکی شمارهگذاری
125
00:03:40,400 –> 00:03:42,640
میکنم که در اینجا میتوانید ببینید و همه
126
00:03:42,640 –> 00:03:44,640
ستونها با نامهای مربوطه خود رسم میشوند
127
00:03:44,640 –> 00:03:46,879
که من آن را تنظیم میکنم.
128
00:03:46,879 –> 00:03:48,879
در اینجا بقیه چیزی است که فقط برای بهتر جلوه
129
00:03:48,879 –> 00:03:49,519
دادن نمودار است
130
00:03:49,519 –> 00:03:52,480
، بنابراین در اینجا نمودارها
131
00:03:52,480 –> 00:03:53,360
شبیه به هم هستند
132
00:03:53,360 –> 00:03:55,120
و می توانید از رگرسیون ترتیب برداری
133
00:03:55,120 –> 00:03:57,280
برای پیش بینی همه آنها با هم استفاده کنید،
134
00:03:57,280 –> 00:03:59,280
اما برای سادگی، من
135
00:03:59,280 –> 00:04:01,200
فقط از دو سری زمانی استفاده می کنم.
136
00:04:01,200 –> 00:04:03,599
و فقط با بازرسی بصری به
137
00:04:03,599 –> 00:04:04,400
138
00:04:04,400 –> 00:04:07,200
139
00:04:07,200 –> 00:04:08,720
نظر می رسد rg و p و مقدار ulc ممکن است نوعی همبستگی داشته باشد، به نظر می رسد
140
00:04:08,720 –> 00:04:09,920
که آنها با
141
00:04:09,920 –> 00:04:12,400
همان الگو در حال افزایش هستند، بنابراین در حال حاضر
142
00:04:12,400 –> 00:04:13,439
من فقط از
143
00:04:13,439 –> 00:04:15,040
رگرسیون ترتیب برداری برای این دو
144
00:04:15,040 –> 00:04:17,440
مدل استفاده می کنم. اما میتوانید این مفهوم را
145
00:04:17,440 –> 00:04:18,320
برای
146
00:04:18,320 –> 00:04:20,639
چندین سری زمانی نیز گسترش دهید، بنابراین قبل از
147
00:04:20,639 –> 00:04:22,400
شروع، البته مهم است که
148
00:04:22,400 –> 00:04:24,720
بررسی کنید آیا دادههای شما ثابت هستند یا نه،
149
00:04:24,720 –> 00:04:26,320
اگرچه زمانی که من مدل را آموزش
150
00:04:26,320 –> 00:04:27,680
میدهم، آن را ثابت
151
00:04:27,680 –> 00:04:28,000
نمیکنم. ta
152
00:04:28,000 –> 00:04:30,080
که بعداً توضیح خواهم داد که چرا این کار را انجام می دهم،
153
00:04:30,080 –> 00:04:31,919
اما به طور کلی در مشکل همه سری های زمانی
154
00:04:31,919 –> 00:04:33,680
این کاری است که شما باید انجام دهید،
155
00:04:33,680 –> 00:04:36,080
بنابراین ما از تست میدان کلید تقویت شده
156
00:04:36,080 –> 00:04:36,720
استفاده می
157
00:04:36,720 –> 00:04:38,639
کنیم و باید ارائه کنیم که کدام سری زمانی را
158
00:04:38,639 –> 00:04:40,400
بررسی می کنم. من قصد ندارم
159
00:04:40,400 –> 00:04:42,479
به عمق این تست uh بپردازم،
160
00:04:42,479 –> 00:04:44,320
اما من فقط به شما توضیح می دهم که چگونه
161
00:04:44,320 –> 00:04:45,759
این را درست تفسیر کنید،
162
00:04:45,759 –> 00:04:48,560
بنابراین من این آزمایش را روی ستون rgmp داده ماکرو uh اجرا
163
00:04:48,560 –> 00:04:49,520
164
00:04:49,520 –> 00:04:51,680
می کنم، به طور مشابه
165
00:04:51,680 –> 00:04:53,520
آن را روی ستون ulc اجرا می کنم
166
00:04:53,520 –> 00:04:55,120
و من دو مقدار را چاپ خواهم کرد
167
00:04:55,120 –> 00:04:57,040
که آمار adf
168
00:04:57,040 –> 00:05:00,080
و مقدار p است و وقتی این را اجرا می کنم این
169
00:05:00,080 –> 00:05:01,360
چیزی است که من دریافت می کنم
170
00:05:01,360 –> 00:05:02,720
و تنها چیزی که باید
171
00:05:02,720 –> 00:05:04,800
در مورد آن اذیت شوید مقدار p است اگر مقدار p
172
00:05:04,800 –> 00:05:06,960
کمتر از 0.05 به
173
00:05:06,960 –> 00:05:08,880
این معنی است که داده های شما ثابت هستند
174
00:05:08,880 –> 00:05:10,880
اگر بزرگتر از آن باشد، پس اینطور نیست،
175
00:05:10,880 –> 00:05:13,039
بنابراین می توانم مقدار p را 0.98 و
176
00:05:13,039 –> 00:05:15,120
0.99 ببینم که به این معنی است که داده های من ثابت نیستند
177
00:05:15,120 –> 00:05:15,919
178
00:05:15,919 –> 00:05:17,840
و شما باید آن را به ثابت تبدیل کنید
179
00:05:17,840 –> 00:05:19,759
و در بیشتر موارد چه چیزی برای شما مفید است.
180
00:05:19,759 –> 00:05:21,360
این تفاوت ساده است
181
00:05:21,360 –> 00:05:23,600
و من فقط
182
00:05:23,600 –> 00:05:24,639
در اینجا نظر داده
183
00:05:24,639 –> 00:05:26,560
ام من این نظر را حذف میکنم بنابراین
184
00:05:26,560 –> 00:05:28,160
اساساً
185
00:05:28,160 –> 00:05:29,360
مجموعه دادهها را در اینجا
186
00:05:29,360 –> 00:05:30,800
187
00:05:30,800 –> 00:05:32,800
متفاوت میکنم و این اساساً مرتبه اول تفاوت است که هر مقدار از
188
00:05:32,800 –> 00:05:34,800
مقدار قبلی آن کم میشود
189
00:05:34,800 –> 00:05:36,400
و همان کاری که
190
00:05:36,400 –> 00:05:38,320
برای ستون ulc انجام میدهم
191
00:05:38,320 –> 00:05:40,880
خوب است، بنابراین وقتی این را پرینت میکنم، میتوانم ببینم که
192
00:05:40,880 –> 00:05:41,520
هر دو مقدار p
193
00:05:41,520 –> 00:05:44,080
کمتر از 0.05 هستند، به این معنی که
194
00:05:44,080 –> 00:05:45,600
مجموعه دادههای من اکنون ثابت است
195
00:05:45,600 –> 00:05:47,120
اگر برای شما کار نکرد، ممکن است
196
00:05:47,120 –> 00:05:48,479
مجبور شوید چندین بار تفاوت را انجام دهید
197
00:05:48,479 –> 00:05:49,199
198
00:05:49,199 –> 00:05:50,880
و سپس مجموعه دادههای خود را انجام دهید. می تواند
199
00:05:50,880 –> 00:05:52,880
ثابت بماند، این در اکثر
200
00:05:52,880 –> 00:05:54,880
سناریوها به خوبی کار می کند، بنابراین قبل از ادامه دادن
201
00:05:54,880 –> 00:05:55,919
در هنگام
202
00:05:55,919 –> 00:05:57,440
انجام رگرسیون ترتیب برداری،
203
00:05:57,440 –> 00:05:59,360
مهم است که بررسی کنید که آیا دو
204
00:05:59,360 –> 00:06:00,880
سری زمانی که با آنها کار می کنید یا
205
00:06:00,880 –> 00:06:02,400
چندین
206
00:06:02,400 –> 00:06:04,240
سری زمانی همبستگی دارند، آیا آنها دارای هر
207
00:06:04,240 –> 00:06:05,520
نوع هستند. همبستگی است
208
00:06:05,520 –> 00:06:07,440
و این اساس
209
00:06:07,440 –> 00:06:09,360
رگرسیون ترتیب برداری است و می توانید
210
00:06:09,360 –> 00:06:11,680
با استفاده از تابع آزمون علیت گرنجر
211
00:06:11,680 –> 00:06:14,080
که در کتابخانه مدل شروع دارید
212
00:06:14,080 –> 00:06:15,039
213
00:06:15,039 –> 00:06:16,240
و اگر من به مستندات اصلی بروید بررسی کنید
214
00:06:16,240 –> 00:06:18,080
n می توانید ببینید که فقط باید
215
00:06:18,080 –> 00:06:19,280
تابع را فراخوانی کنید و
216
00:06:19,280 –> 00:06:22,639
مجموعه داده را ارائه کنید و اساساً به شما می گوید
217
00:06:22,639 –> 00:06:24,960
که آیا سری زمانی
218
00:06:24,960 –> 00:06:26,319
در ستون دوم
219
00:06:26,319 –> 00:06:28,160
باعث ایجاد سری زمانی در ستون اول می
220
00:06:28,160 –> 00:06:30,400
شود، به عنوان مثال اگر من به آن
221
00:06:30,400 –> 00:06:32,560
دو ستون ulc بدهم. و rgnp
222
00:06:32,560 –> 00:06:36,240
به من می گوید که آیا rgnp باعث ulc می شود
223
00:06:36,240 –> 00:06:38,880
و من می توانم تعیین کنم برای چند تاخیر
224
00:06:38,880 –> 00:06:40,639
می خواهم فعلا بررسی کنم،
225
00:06:40,639 –> 00:06:42,400
اگر برای شما کار نمی کند فقط چهار تاخیر را بررسی می کنم،
226
00:06:42,400 –> 00:06:43,360
می توانید
227
00:06:43,360 –> 00:06:45,680
به چندین تاخیر گسترش دهید و ببینید که آیا که
228
00:06:45,680 –> 00:06:47,680
به طور مشابه کار می کند، من
229
00:06:47,680 –> 00:06:48,560
آن را برعکس
230
00:06:48,560 –> 00:06:52,080
انجام خواهم داد، آیا ulc باعث rgnp می شود و وقتی نتایج را چاپ می کنم
231
00:06:52,080 –> 00:06:53,120
232
00:06:53,120 –> 00:06:55,759
این همان چیزی است که دوباره دریافت می کنم، اوه
233
00:06:55,759 –> 00:06:57,440
چیزهای زیادی برای درک آزمایش ها وجود دارد،
234
00:06:57,440 –> 00:06:59,440
اما اگر می خواهید به سادگی آن را تفسیر کنید
235
00:06:59,440 –> 00:07:01,440
، به آن نگاه کنید. مقادیر p، مقادیر p
236
00:07:01,440 –> 00:07:04,240
باید نقطه صفر باشند، مقادیر p
237
00:07:04,240 –> 00:07:06,240
باید کمتر از نقطه صفر باشد.
238
00:07:06,240 –> 00:07:08,639
239
00:07:08,639 –> 00:07:09,520
240
00:07:09,520 –> 00:07:11,840
241
00:07:11,840 –> 00:07:13,599
242
00:07:13,599 –> 00:07:16,319
243
00:07:16,319 –> 00:07:17,199
ulc باعث rgnp می شود
244
00:07:17,199 –> 00:07:20,000
من می بینم که مقدار p l نیست
245
00:07:20,000 –> 00:07:21,360
حداقل 0.05
246
00:07:21,360 –>