You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
190 lines
28 KiB
190 lines
28 KiB
# கால வரிசை முன்னறிவிப்பு அறிமுகம்
|
|
|
|

|
|
|
|
> ஸ்கெட்ச் நோட்: [Tomomi Imura](https://www.twitter.com/girlie_mac)
|
|
|
|
இந்த பாடத்தில் மற்றும் அடுத்த பாடத்தில், நீங்கள் கால வரிசை முன்னறிவிப்பு பற்றி சில தகவல்களை அறிந்து கொள்வீர்கள். இது ஒரு எம்.எல் விஞ்ஞானியின் திறமைகளில் ஒரு முக்கியமான மற்றும் மதிப்புமிக்க பகுதி ஆகும், ஆனால் மற்ற தலைப்புகளுடன் ஒப்பிடும்போது இது குறைவாக அறியப்பட்டதாகும். கால வரிசை முன்னறிவிப்பு என்பது ஒரு வகையான 'கண்ணாடி பந்து' போன்றது: விலை போன்ற ஒரு மாறியின் முந்தைய செயல்திறனை அடிப்படையாகக் கொண்டு, அதன் எதிர்கால மதிப்பை நீங்கள் கணிக்க முடியும்.
|
|
|
|
[](https://youtu.be/cBojo1hsHiI "கால வரிசை முன்னறிவிப்பு அறிமுகம்")
|
|
|
|
> 🎥 மேலே உள்ள படத்தை கிளிக் செய்து கால வரிசை முன்னறிவிப்பு பற்றிய வீடியோவைப் பாருங்கள்
|
|
|
|
## [பாடத்துக்கு முந்தைய வினாடி வினா](https://ff-quizzes.netlify.app/en/ml/)
|
|
|
|
விலை நிர்ணயம், சரக்கு மற்றும் விநியோக சங்கிலி பிரச்சினைகளின் நேரடி பயன்பாட்டை கருத்தில் கொண்டு, இது வணிகத்திற்கு உண்மையான மதிப்பை வழங்கும் பயனுள்ள மற்றும் சுவாரஸ்யமான துறையாகும். எதிர்கால செயல்திறனை சிறப்பாக கணிக்க ஆழ்ந்த கற்றல் நுட்பங்கள் பயன்படுத்தப்படுவதால், கால வரிசை முன்னறிவிப்பு இன்னும் பாரம்பரிய எம்.எல் நுட்பங்களால் பெரிதும் தகவலளிக்கப்படும் துறையாகவே உள்ளது.
|
|
|
|
> Penn State இன் பயனுள்ள கால வரிசை பாடத்திட்டத்தை [இங்கே](https://online.stat.psu.edu/stat510/lesson/1) காணலாம்
|
|
|
|
## அறிமுகம்
|
|
|
|
நீங்கள் ஒரு தொகுதி ஸ்மார்ட் பார்கிங் மீட்டர்களை பராமரிக்கிறீர்கள் என்று கற்பனை செய்யுங்கள், அவை எவ்வளவு முறை பயன்படுத்தப்படுகின்றன மற்றும் எவ்வளவு நேரம் பயன்படுத்தப்படுகின்றன என்பதற்கான தரவுகளை வழங்குகின்றன.
|
|
|
|
> மீட்டரின் முந்தைய செயல்திறனை அடிப்படையாகக் கொண்டு, சப்ளை மற்றும் டிமாண்ட் விதிகளின் படி அதன் எதிர்கால மதிப்பை நீங்கள் கணிக்க முடிந்தால் என்ன ஆகும்?
|
|
|
|
உங்கள் இலக்கை அடைவதற்காக எப்போது செயல்பட வேண்டும் என்பதை துல்லியமாக கணிப்பது ஒரு சவாலாக இருக்கும், ஆனால் இது தெருக்களை சுத்தம் செய்ய வருவாய் உருவாக்குவதற்கான நிச்சயமான வழியாக இருக்கும்!
|
|
|
|
கால வரிசை அல்காரிதங்களின் சில வகைகளை ஆராய்வோம் மற்றும் சில தரவுகளை சுத்தம் செய்து தயாரிக்க ஒரு நோட்புக் தொடங்குவோம். நீங்கள் பகுப்பாய்வு செய்யும் தரவுகள் GEFCom2014 முன்னறிவிப்பு போட்டியிலிருந்து எடுக்கப்பட்டவை. இது 2012 முதல் 2014 வரை மூன்று ஆண்டுகளுக்கான மணிநேர மின்சார சுமை மற்றும் வெப்பநிலை மதிப்புகளை கொண்டுள்ளது. மின்சார சுமை மற்றும் வெப்பநிலையின் வரலாற்று முறைமைகளை கருத்தில் கொண்டு, நீங்கள் மின்சார சுமையின் எதிர்கால மதிப்புகளை கணிக்க முடியும்.
|
|
|
|
இந்த எடுத்துக்காட்டில், வரலாற்று சுமை தரவுகளை மட்டுமே பயன்படுத்தி, நீங்கள் ஒரு கால கட்டத்தை முன்னறிவிக்க கற்றுக்கொள்வீர்கள். ஆனால் தொடங்குவதற்கு முன், பின்னணியில் என்ன நடக்கிறது என்பதைப் புரிந்துகொள்வது பயனுள்ளதாக இருக்கும்.
|
|
|
|
## சில வரையறைகள்
|
|
|
|
'கால வரிசை' என்ற சொற்றொடரை சந்திக்கும்போது, அது பல்வேறு சூழல்களில் எவ்வாறு பயன்படுத்தப்படுகிறது என்பதை நீங்கள் புரிந்துகொள்ள வேண்டும்.
|
|
|
|
🎓 **கால வரிசை**
|
|
|
|
கணிதத்தில், "ஒரு கால வரிசை என்பது கால வரிசையில் குறியிடப்பட்ட (அல்லது பட்டியலிடப்பட்ட அல்லது வரைபடமாக்கப்பட்ட) தரவுப் புள்ளிகளின் வரிசையாகும். பொதுவாக, ஒரு கால வரிசை என்பது சமமான இடைவெளிகளில் தொடர்ந்து எடுக்கப்படும் வரிசையாகும்." ஒரு கால வரிசையின் எடுத்துக்காட்டு [Dow Jones Industrial Average](https://wikipedia.org/wiki/Time_series) இன் தினசரி மூடல் மதிப்பு ஆகும். கால வரிசை வரைபடங்கள் மற்றும் புள்ளியியல் மாதிரிகளைப் பயன்படுத்துவது சிக்னல் செயலாக்கம், வானிலை முன்னறிவிப்பு, நிலநடுக்கம் கணிப்பு மற்றும் நிகழ்வுகள் நடைபெறும் மற்றும் தரவுப் புள்ளிகள் காலத்திற்குள் வரைபடமாக்கப்படக்கூடிய பிற துறைகளில் அடிக்கடி காணப்படுகிறது.
|
|
|
|
🎓 **கால வரிசை பகுப்பாய்வு**
|
|
|
|
கால வரிசை பகுப்பாய்வு என்பது மேலே குறிப்பிடப்பட்ட கால வரிசை தரவின் பகுப்பாய்வாகும். கால வரிசை தரவுகள் 'தடைசெய்யப்பட்ட கால வரிசை' உட்பட தனித்துவமான வடிவங்களை எடுத்துக்கொள்ளலாம், இது ஒரு கால வரிசையின் பரிணாமத்தில் முறைமைகளை கண்டறிய உதவுகிறது. கால வரிசைக்கு தேவையான பகுப்பாய்வு, தரவின் தன்மையைப் பொறுத்து மாறுபடும். கால வரிசை தரவுகள் எண்கள் அல்லது எழுத்துக்களின் வரிசையாக இருக்கலாம்.
|
|
|
|
பகுப்பாய்வு பல்வேறு முறைகளைப் பயன்படுத்துகிறது, அதில் அதிர்வெண்-களம் மற்றும் நேர-களம், நேரியல் மற்றும் நேரியல் அல்லாதவை மற்றும் பல உள்ளன. இந்த வகை தரவுகளை பகுப்பாய்வு செய்யும் பல வழிகளைப் பற்றி [இங்கே](https://www.itl.nist.gov/div898/handbook/pmc/section4/pmc4.htm) மேலும் அறியவும்.
|
|
|
|
🎓 **கால வரிசை முன்னறிவிப்பு**
|
|
|
|
கால வரிசை முன்னறிவிப்பு என்பது முந்தைய தரவுகளின் முறைமைகளை அடிப்படையாகக் கொண்டு எதிர்கால மதிப்புகளை கணிக்க ஒரு மாதிரியைப் பயன்படுத்துவதாகும். கால வரிசை தரவுகளை ஆராய்வதற்கு பின்பற்றுதல் மாதிரிகளைப் பயன்படுத்துவது சாத்தியமாக இருந்தாலும், நேர மாறிகள் ஒரு வரைபடத்தில் x மாறிகளாக இருக்கும், இந்த தரவுகள் சிறப்பு வகை மாதிரிகளைப் பயன்படுத்தி சிறந்த முறையில் பகுப்பாய்வு செய்யப்படுகின்றன.
|
|
|
|
கால வரிசை தரவுகள் என்பது ஒழுங்குபடுத்தப்பட்ட கண்காணிப்புகளின் பட்டியல் ஆகும், நேரியல் பின்பற்றுதல் மூலம் பகுப்பாய்வு செய்யக்கூடிய தரவுகளுக்கு மாறாக. மிகவும் பொதுவானது ARIMA ஆகும், இது "Autoregressive Integrated Moving Average" என்பதற்கான சுருக்கமாகும்.
|
|
|
|
[ARIMA மாதிரிகள்](https://online.stat.psu.edu/stat510/lesson/1/1.1) "ஒரு வரிசையின் தற்போதைய மதிப்பை முந்தைய மதிப்புகள் மற்றும் முந்தைய முன்னறிவிப்பு பிழைகளுடன் தொடர்புபடுத்துகிறது." தரவுகள் நேர வரிசையில் ஒழுங்குபடுத்தப்பட்டுள்ள இடங்களில் இந்த மாதிரிகள் மிகவும் பொருத்தமாக இருக்கும்.
|
|
|
|
> ARIMA மாதிரிகளின் பல்வேறு வகைகள் உள்ளன, அவற்றைப் பற்றி [இங்கே](https://people.duke.edu/~rnau/411arim.htm) மேலும் அறியலாம், மேலும் அடுத்த பாடத்தில் நீங்கள் அவற்றைப் பற்றி அறிந்து கொள்வீர்கள்.
|
|
|
|
அடுத்த பாடத்தில், நீங்கள் [Univariate Time Series](https://itl.nist.gov/div898/handbook/pmc/section4/pmc44.htm) பயன்படுத்தி ஒரு ARIMA மாதிரியை உருவாக்குவீர்கள், இது ஒரு மாறி அதன் மதிப்பை நேரத்துடன் மாற்றுகிறது என்பதை மையமாகக் கொண்டது. இந்த வகை தரவின் எடுத்துக்காட்டாக, Mauna Loa Observatory இல் மாதாந்திர CO2 செறிவு பதிவுகளை கொண்ட [இந்த தரவுத்தொகுப்பு](https://itl.nist.gov/div898/handbook/pmc/section4/pmc4411.htm) உள்ளது:
|
|
|
|
| CO2 | YearMonth | Year | Month |
|
|
| :----: | :-------: | :---: | :---: |
|
|
| 330.62 | 1975.04 | 1975 | 1 |
|
|
| 331.40 | 1975.13 | 1975 | 2 |
|
|
| 331.87 | 1975.21 | 1975 | 3 |
|
|
| 333.18 | 1975.29 | 1975 | 4 |
|
|
| 333.92 | 1975.38 | 1975 | 5 |
|
|
| 333.43 | 1975.46 | 1975 | 6 |
|
|
| 331.85 | 1975.54 | 1975 | 7 |
|
|
| 330.01 | 1975.63 | 1975 | 8 |
|
|
| 328.51 | 1975.71 | 1975 | 9 |
|
|
| 328.41 | 1975.79 | 1975 | 10 |
|
|
| 329.25 | 1975.88 | 1975 | 11 |
|
|
| 330.97 | 1975.96 | 1975 | 12 |
|
|
|
|
✅ இந்த தரவுத்தொகுப்பில் நேரத்துடன் மாறும் மாறியை அடையாளம் காணவும்
|
|
|
|
## கால வரிசை தரவின் பண்புகளை கவனிக்க வேண்டும்
|
|
|
|
கால வரிசை தரவுகளைப் பார்க்கும்போது, அதில் [சில தன்மைகள்](https://online.stat.psu.edu/stat510/lesson/1/1.1) இருப்பதை நீங்கள் கவனிக்கலாம், அவற்றை நீங்கள் கருத்தில் கொண்டு அதன் முறைமைகளை சிறப்பாக புரிந்துகொள்ள வேண்டும். கால வரிசை தரவுகளை நீங்கள் பகுப்பாய்வு செய்ய வேண்டிய 'சிக்னல்' எனக் கருதினால், இந்த பண்புகளை 'சத்தம்' எனக் கருதலாம். இந்த 'சத்தத்தை' குறைக்க சில புள்ளியியல் நுட்பங்களைப் பயன்படுத்த வேண்டும்.
|
|
|
|
கால வரிசையுடன் வேலை செய்ய நீங்கள் அறிந்திருக்க வேண்டிய சில கருத்துக்கள் இங்கே:
|
|
|
|
🎓 **போக்குகள்**
|
|
|
|
போக்குகள் என்பது காலத்திற்குள் அளவிடக்கூடிய அதிகரிப்புகள் மற்றும் குறைப்புகளை குறிக்கிறது. [மேலும் படிக்கவும்](https://machinelearningmastery.com/time-series-trends-in-python). கால வரிசையின் சூழலில், இது உங்கள் கால வரிசையிலிருந்து போக்குகளை எவ்வாறு பயன்படுத்துவது மற்றும் அவசியமெனில் அவற்றை நீக்குவது பற்றியது.
|
|
|
|
🎓 **[முகவாய்ப்பு](https://machinelearningmastery.com/time-series-seasonality-with-python/)**
|
|
|
|
முகவாய்ப்பு என்பது காலாண்டு மாறுபாடுகளை குறிக்கிறது, எடுத்துக்காட்டாக, விற்பனையை பாதிக்கக்கூடிய விடுமுறை காலத்தின் கூட்டம் போன்றவை. தரவுகளில் முகவாய்ப்பை வெவ்வேறு வகையான வரைபடங்கள் எவ்வாறு காட்டுகின்றன என்பதை [இங்கே பாருங்கள்](https://itl.nist.gov/div898/handbook/pmc/section4/pmc443.htm).
|
|
|
|
🎓 **விலகல்கள்**
|
|
|
|
விலகல்கள் என்பது தரவின் வழக்கமான மாறுபாட்டிலிருந்து மிகவும் விலகியுள்ளவை.
|
|
|
|
🎓 **நீண்டகால சுழற்சி**
|
|
|
|
முகவாய்ப்பைத் தவிர, தரவுகள் ஒரு நீண்டகால சுழற்சியை காட்டலாம், உதாரணமாக, ஒரு ஆண்டுக்கு மேல் நீடிக்கும் பொருளாதார சரிவு.
|
|
|
|
🎓 **நிலையான மாறுபாடு**
|
|
|
|
காலத்திற்குள், சில தரவுகள் நிலையான மாறுபாடுகளை காட்டும், எடுத்துக்காட்டாக, ஒரு நாளும் இரவும் மின்சார பயன்பாடு.
|
|
|
|
🎓 **திடமான மாற்றங்கள்**
|
|
|
|
திடீரென நிகழும் மாற்றங்கள் கூடுதல் பகுப்பாய்வை தேவைப்படுத்தலாம். எடுத்துக்காட்டாக, COVID காரணமாக வணிகங்கள் திடீரென மூடப்பட்டதால், தரவுகளில் மாற்றங்கள் ஏற்பட்டன.
|
|
|
|
✅ [இந்த மாதிரி கால வரிசை வரைபடத்தை](https://www.kaggle.com/kashnitsky/topic-9-part-1-time-series-analysis-in-python) பாருங்கள், இது சில ஆண்டுகளாக தினசரி விளையாட்டு நாணய செலவுகளை காட்டுகிறது. இந்த தரவுகளில் மேலே பட்டியலிடப்பட்ட பண்புகளில் ஏதேனும் ஒன்றை நீங்கள் அடையாளம் காண முடியுமா?
|
|
|
|

|
|
|
|
## பயிற்சி - மின்சார பயன்பாட்டு தரவுடன் தொடங்குதல்
|
|
|
|
முந்தைய பயன்பாட்டை கருத்தில் கொண்டு எதிர்கால மின்சார பயன்பாட்டை முன்னறிவிக்க ஒரு கால வரிசை மாதிரியை உருவாக்க தொடங்குவோம்.
|
|
|
|
> இந்த எடுத்துக்காட்டில் உள்ள தரவுகள் GEFCom2014 முன்னறிவிப்பு போட்டியிலிருந்து எடுக்கப்பட்டவை. இது 2012 முதல் 2014 வரை மூன்று ஆண்டுகளுக்கான மணிநேர மின்சார சுமை மற்றும் வெப்பநிலை மதிப்புகளை கொண்டுள்ளது.
|
|
>
|
|
> Tao Hong, Pierre Pinson, Shu Fan, Hamidreza Zareipour, Alberto Troccoli மற்றும் Rob J. Hyndman, "Probabilistic energy forecasting: Global Energy Forecasting Competition 2014 and beyond", International Journal of Forecasting, vol.32, no.3, pp 896-913, July-September, 2016.
|
|
|
|
1. இந்த பாடத்தின் `working` கோப்புறையில் உள்ள _notebook.ipynb_ கோப்பை திறக்கவும். தரவுகளை ஏற்றவும் காட்சிப்படுத்தவும் உதவும் நூலகங்களை சேர்ப்பதன் மூலம் தொடங்கவும்
|
|
|
|
```python
|
|
import os
|
|
import matplotlib.pyplot as plt
|
|
from common.utils import load_data
|
|
%matplotlib inline
|
|
```
|
|
|
|
கவனிக்கவும், உங்கள் சூழலை அமைக்கவும், தரவுகளை பதிவிறக்கவும் உதவும் `common` கோப்புறையில் உள்ள கோப்புகளை நீங்கள் பயன்படுத்துகிறீர்கள்.
|
|
|
|
2. அடுத்ததாக, `load_data()` மற்றும் `head()` ஐ அழைத்து தரவுகளை ஒரு டேட்டாபிரேமாக ஆய்வு செய்யவும்:
|
|
|
|
```python
|
|
data_dir = './data'
|
|
energy = load_data(data_dir)[['load']]
|
|
energy.head()
|
|
```
|
|
|
|
நீங்கள் தேதி மற்றும் சுமையை பிரதிநிதித்துவப்படுத்தும் இரண்டு நெடுவரிசைகளை காணலாம்:
|
|
|
|
| | load |
|
|
| :-----------------: | :----: |
|
|
| 2012-01-01 00:00:00 | 2698.0 |
|
|
| 2012-01-01 01:00:00 | 2558.0 |
|
|
| 2012-01-01 02:00:00 | 2444.0 |
|
|
| 2012-01-01 03:00:00 | 2402.0 |
|
|
| 2012-01-01 04:00:00 | 2403.0 |
|
|
|
|
3. இப்போது, `plot()` ஐ அழைத்து தரவுகளை வரைபடமாக்கவும்:
|
|
|
|
```python
|
|
energy.plot(y='load', subplots=True, figsize=(15, 8), fontsize=12)
|
|
plt.xlabel('timestamp', fontsize=12)
|
|
plt.ylabel('load', fontsize=12)
|
|
plt.show()
|
|
```
|
|
|
|

|
|
|
|
4. இப்போது, 2014 ஜூலை மாதத்தின் முதல் வாரத்தை வரைபடமாக்கவும், அதை `[from date]: [to date]` வடிவத்தில் `energy` க்கு உள்ளீடாக வழங்கவும்:
|
|
|
|
```python
|
|
energy['2014-07-01':'2014-07-07'].plot(y='load', subplots=True, figsize=(15, 8), fontsize=12)
|
|
plt.xlabel('timestamp', fontsize=12)
|
|
plt.ylabel('load', fontsize=12)
|
|
plt.show()
|
|
```
|
|
|
|

|
|
|
|
அழகான ஒரு வரைபடம்! இந்த வரைபடங்களைப் பாருங்கள் மற்றும் மேலே பட்டியலிடப்பட்ட பண்புகளில் ஏதேனும் ஒன்றை இந்த தரவுகளில் இருந்து நீங்கள் கண்டறிய முடியுமா என்பதை பாருங்கள். தரவுகளை காட்சிப்படுத்துவதன் மூலம் நாம் என்ன முடிவு செய்ய முடியும்?
|
|
|
|
அடுத்த பாடத்தில், நீங்கள் ஒரு ARIMA மாதிரியை உருவாக்கி சில முன்னறிவிப்புகளை உருவாக்குவீர்கள்.
|
|
|
|
---
|
|
|
|
## 🚀சவால்
|
|
|
|
கால வரிசை முன்னறிவிப்பால் பயனடையும் அனைத்து துறைகள் மற்றும் ஆராய்ச்சி பகுதிகளின் பட்டியலை உருவாக்கவும். இந்த நுட்பங்களை கலைகளில் பயன்படுத்தும் ஒரு பயன்பாட்டை நீங்கள் யோசிக்க முடியுமா? பொருளாதார அளவியல்? சுற்றுச்சூழல்? சில்லறை வியாபாரம்? தொழில்? நிதி? வேறு எங்கு?
|
|
|
|
## [பாடத்திற்குப் பிந்தைய வினாடி வினா](https://ff-quizzes.netlify.app/en/ml/)
|
|
|
|
## மதிப்பீடு & சுயபயிற்சி
|
|
|
|
நாம் இங்கே அவற்றைப் பற்றி விவாதிக்கவில்லை என்றாலும், நரம்பியல் வலையமைப்புகள் சில நேரங்களில் கால வரிசை முன்னறிவிப்பு முறைகளை மேம்படுத்த பயன்படுத்தப்படுகின்றன. அவற்றைப் பற்றி [இந்த கட்டுரையில்](https://medium.com/microsoftazure/neural-networks-for-forecasting-financial-and-economic-time-series-6aca370ff412) மேலும் படிக்கவும்.
|
|
|
|
## பணிக்குறிப்பு
|
|
|
|
[மேலும் சில கால வரிசைகளை காட்சிப்படுத்தவும்](assignment.md)
|
|
|
|
---
|
|
|
|
**குறிப்பு**:
|
|
இந்த ஆவணம் [Co-op Translator](https://github.com/Azure/co-op-translator) என்ற AI மொழிபெயர்ப்பு சேவையைப் பயன்படுத்தி மொழிபெயர்க்கப்பட்டுள்ளது. நாங்கள் துல்லியத்திற்காக முயற்சிக்கின்றோம், ஆனால் தானியக்க மொழிபெயர்ப்புகளில் பிழைகள் அல்லது தவறான தகவல்கள் இருக்கக்கூடும் என்பதை கவனத்தில் கொள்ளவும். அதன் தாய்மொழியில் உள்ள மூல ஆவணம் அதிகாரப்பூர்வ ஆதாரமாக கருதப்பட வேண்டும். முக்கியமான தகவல்களுக்கு, தொழில்முறை மனித மொழிபெயர்ப்பு பரிந்துரைக்கப்படுகிறது. இந்த மொழிபெயர்ப்பைப் பயன்படுத்துவதால் ஏற்படும் எந்த தவறான புரிதல்கள் அல்லது தவறான விளக்கங்களுக்கு நாங்கள் பொறுப்பல்ல. |