Friday, September 28, 2012

மாண்டோ கார்லோ ஒப்பு செயலாக்கம் பகுதி 2



http://adcats.et.byu.edu/Publication/98-2/CvP1-2col__6=30=98.html


வணக்கம் நண்பர்களே,

சென்ற பதிவில் மாண்டோ கார்லோ ஒப்பு செய்லாக்கம் என்பது சீரற்ற எண்களைப் பயன்படுத்தி குறைந்த உள்ளீடு[input] வாய்ப்புகளை கொண்டு மென்பொருள் மாதிரிகளை பரிசோதிக்கும் முறை என்பதை அறிந்தோம்.


இப்பதிவில் அது எப்படி செய்யப்படுகிறது என்பதை மட்டும் அறிந்து  விடுவோம்.அறிவியலில் எந்த ஒரு விடயத்தையும் நுட்பமாக அறிய ஒரு வரின் வாழ்நாள் போதாது.அப்படி அறிந்து அறிவின் சாரம் கொடுத்த அறிவியலாளர்களின் ஆவணப் படுத்தும் செயல் மூலமே நம்மால் பல விடயம் எளிதில் சில அடிப்படை விடயங்களேனும் கற்க முடிகிறது.நம் பதிவுகளில் சில விடயங்கள் இலேசாக தொட்டுக் காட்டி இது ஒன்றும் கம்ப சூத்திரம் அல்ல அனைவரும் ஈடுபாடு முயன்றால் முறையாக் கற்க முடியும் என்பதையே வலியுறுத்துகிறோம்.


ஒரு அமைப்பு மாதிரியை உள்ளீடுகள் வாங்கி வினையாற்றி ,சேமித்து வெளியீடுகள் கொடுக்கும் மென்பொருள்  நிரல்[program] எனலாம்.



சரியாக வரையறுக்கப்பட்ட(deterministic)  மாதிரி,சரியாக வரையறுக்கப்படாத‌((stochastic) மாதிரி என இதிலும் இருவகை உண்டு..சரியாக வரையறுக்கப்பட்டமாதிரி என்றால் உள்ளீடுகளுக்கும் வெளியீடுகளுக்கும் உள்ள தொடர்பு சமன்பாடுகள் போன்ற ஒரு நிலையான மாறாத தொடர்பினால் பொருத்தப்படுவது.

எ.கா வட்டிக் கணக்கு

100 ரூபாய் முதலீடு 10% வருட எளிய வட்டி வீதத்தில் 5 வருடத்தில் எவ்வளவு ஆகும்?

P(new)=P(old)*(1+i)*n
100+100*0.1*5=150 ரூபாய். ஒரே விடை.



Deterministic Model

Deterministic Model


இப்போது சரியாக வரையறுக்ப்படாத மாதிரி பற்றி பார்ப்போம்.


சமன்பாடுகளில் சில விவரங்கள் சீரற்று மாறும்  எனில் அது சரியாக வரையறுக்க படாத  மாதிரி ஆகிறது.



இதன் கணிப்புகள் சரியாக இருப்பதும் நிகழ்தகவின்[probability] அடிப்படையில் மட்டுமே கூறமுடியும்.பலரின் கணிப்புகள் வித்தியாசப் படலாம்.. பல வெளியீட்டு விடைகள் கொடுக்கும் மாதிரி என சொல்லலாம்.


எ.கா தேர்தல் கருத்துக் கணிப்புகள்


கணிப்புகள் செய்யும் ஒவ்வொருவரும் எடுக்கும் மாதிரி மக்கள் குழ எந்த அளவு அனைத்து மக்களின் ஓட்டளிப்பின் காரணிகளைக் கொண்டு இருக்கிறது என்பது சார்ந்தே கணிப்புகள் மாறும்.இது மட்டுமல்லாமல் சுய விருப்பும் கணிப்புகளின் மீது மாற்றம் கொண்டுவரலாம்.



Monte Carlo Analysis

Stochastic Model

இந்த  சரியாக வரையறுக்க இயலா மாதிரி வடிவமைப்பு& சார் கணிதம் என்பதும் மிகப்பெரிய கடல்,அதிக பயன்பாடும் உடையது. ஆகவே நம் பதிவில் வரையறுக்கப்பட்ட மாதிரிக்கு ஒரு எ.கா மட்டும் பார்த்து விடுவோம்.பின்னூட்ட விவாதத்தில் பலருக்கு ஈடுபாடு என்றால் மட்டுமே அடுத்த கட்டம் செல்வோம்.


நாம் எபோதும் சொல்வது நன்கு வரையறுக்கப்பட்ட,அறியப்பட்ட விடயங்களை முதலின் தெளிவாக அறிந்து,பிறகு படிப்படியாக செல்வதே சிறந்த கற்றல் முறை. எடுத்தவுடன் எல்லாம் புரிந்துவிடும் என எதிர்பார்த்தல் தவறு.


கற்றலில் கேள்விகளே சரியாக கற்பிக்கும். கேள்வி கேட்காமல் மனப்பாடம் செய்தே பலருக்கு அறிவியல் வேப்பங்காய் ஆனது.


மாண்டோ கார்லோ ஒப்பு செயலாக்கம்  கீழ்க்கண்ட செயல்முறைகளில் செய்யலாம்.



Step 1: Create a parametric model, y = f(x1, x2, ..., xq).
உள்ளீடு, வெளியீடுகளின் தொடர்பாக தேவையான‌ சமன்பாடுகள் தொடர்புகள் மூலம் மென்பொருள் அமைப்பு மாதிரி  உருவாக்க வேண்டும்.இங்கு எ.கா ஆக பல(q) உள்ளீடுகளும் ஒரு வெளியீடும் கொண்ட மாதிரியை எடுப்போம்.

Step 2: Generate a set of random inputs, xi1, xi2, ..., xiq.
ஒவ்வொரு உள்ளீட்ட்டுக்கும் அதன் எல்லைக்குள் ஒரு சீரற்ற எண் மதிப்பு உருவாக்க வேண்டும்.

Step 3: Evaluate the model and store the results as yi.
அதனை  மென்பொருள் மாதிரியில் பிரதியிட்டு வெளியீடு மதிப்பு காணவேண்டும்.

Step 4: Repeat steps 2 and 3 for i = 1 to n.
இதேபோல் படி 2&3 ஐ பல்[n] முறைகள்[பெரும்பாலும் பல நடைமுறைகளுக்கு 10,000 ல் இருந்து 1,000,000 வரை செய்யப்படும்]

Step 5: Analyze the results using histograms, summary statistics, confidence intervals, etc.
வெளியீடு முடிவுகளை பலவகையில் ஆய்விட்டு ,அலசி அவற்றில் தவறு உள்ளதா என சோதிக்கலாம்

http://www.vertex42.com/ExcelArticles/mc/MonteCarloSimulation.html


சரி ஒரு எ.கா மட்டும் பார்த்து விடுவோம். மேலே கொடுத்துள்ள சுட்டிகளின் அதிக தகவல்கள் உண்டு என்றாலும் குறைந்த பட்ச அறிமுகம் மட்டுமே  நமது நோக்கம்.

ஒரு நிறுவனம் தனது விற்பனை இலக்கு கணிப்பான் மென்பொருள் [Sales forecast software] மீது மாண்டோ கார்லோ ஒப்பு செயலாகத்தை பயன்படுத்தி பரிசோதிக்க முனைகிறது என எடுப்போம்.
'அ ஆ இ ஈ' என்ப்படும் நிறுவனம் ஒரு புதிய பொருளை உருவாக்கி விற்பனை செய்தால் அதற்கு வரவேற்பு எப்படி இருக்கும்? சந்தையின் அளவு,உற்பத்தி செலவு,வருமானம்(இலாபம்) போன்ற்வை முன்கூட்டியே கணித்தால் மட்டுமே நிறுவனம் இலாபம் சம்பாதிக்க முடியும்.

இதன் எக்செல் மாதிரி சுட்டியில் இருந்து தரவிறக்கம் செய்து கொள்ளவும்.எக்செல் ப்யன்படுத்துவது அறிந்த விடயம் என்பதால் தவிர்க்கிறேன். நான் எக்செல்லில் ஒப்பு செயலாகம் எப்படி செய்வது என்பது பற்றியே விளக்குகிறேன்.

[Step 1]படி1 : மாதிரி உருவாக்குதல்
நிறுவனத்தின் நோக்கம் இலாபம் சம்பாதிப்பதே! அகவே இலாபத்தை அதிகப்படுத்துவதே நோக்கம்.[ஹி ஹி சமூக சேவை அல்ல.விளம்பரத்தை நம்பி ஏமாறாதீர்!!]

இலாபம்=வருமானம்‍ - செலவு

வருமானம்,செலவுகள் இரண்டுமே நம் கையில் மட்டும் இல்லை ,சந்தை சூழல் சார்ந்தும் உள்ளது[எல்லாம் சந்தை செயல்!!].

முதலில் இந்த பிரச்சினையை உள்ளீடு,வெளியீடு என பிரிக்க வேண்டும். அதுவும் உள்ளீடுகள் ஒன்றுக் கொன்று,வெளியீடுகள், மீது சாராமல் இருக்க[independent-variability] வேண்டும்.[ இது எப்படி என்றால் பெரியயயயயய்யய விடயம். இரு உள்ளீடுகள் ஒன்றையொன்று சார்ந்து உள்ளதா என்பதைக் கண்டறியவும் பல முறைகள் கணிதத்தில் உண்டு.ஏன் ஒன்றை ஒன்று சாராமல் இருக்க வேண்டும் என மட்டும் சிந்தியுங்கள்.பின்னூட்டத்தில் விவாதிப்போம்]


S== விற்பனை அளவு

P= ஒரு பொருளின் விலை

வருமானம்‍[income] = S*P.
விற்பனை அளவு என்பதையே ஒரு உள்ளீடாக எடுக்கலாம் என்றாலும் இந்த எ.காவில் அத்னையும் இரண்டாக பகுத்து பயன்படுத்துகிறார்கள். ஆகவே நாமும் அதையே விளக்குவோம்.

 S=L*R

L==எதிர் நோக்கும் விற்பனை(மாதம்)[No of leads per month]

R=(வங்கி) மாற்று விகிதம்[conversion rate]


வருமானம்‍[income] = L*R*P.



இப்போது செலவுகளுக்கு வருவோம்.

நிலையான முதலீடு[H], மாற்று முதலீடு[C] என இருவகை உண்டு என அறிவோம். நிலையான முதலீடு என்றால் அடிப்படை விடயங்களுக்காக செய்யப்படும் செல்வு[H]. மாற்று முதல் என்றால் ஒரு பொருள் உற்பத்திக்கு தேவையான மூலப் பொருள்கள்& சார்ந்த செலவுகள். இது பற்றி மேலும் அறிய இங்கு[see the link below] படிக்கலாம் அல்லது எளிதாக செலவுக்கு ஒரு சூத்திரம், வரவுக்கு ஒரு சூத்திரம் என மட்டும் எடுத்தும் கொள்ளலாம்.

செலவுகள்=(H + L*C)
Profit = L*R*P - (H + L*C)[அமைப்பு மாதிரி]



                                                                                     
                           H=Constant
Y = Profits
X1 = L
X2 = C
X3 = R
X4 = P



இப்போது 4 உள்ளீடுகள்[X1,X2,X3,X4] ஒரு வெளியீடு[Y] கொண்ட அமைப்பு மாதிரி[system model] தயாராகி விட்டது. இதில் உள்ளீடுகள் சீரற்ற [random or uncertain]தனமையுடையவை என்பதுதான் முக்கியமான விடயம் ஆகும்.


[Step 2]படி2 :சீரற்ற உள்ளீடுகள் உருவாக்குதல்[Generating Random Inputs]



ஏற்கென்வே மாண்டோ கார்லோ ஒப்பு செயலாக்கம் செய்ய எக்செல் மாதிரி தயாரிக்கப்பட்டுள்ளது என்பதும் அதனை அறியவே முயல்கிறோம் என்பதை ஞாபகப் படுத்திக் கொள்வோம். தரவிறக்கம் செயாதோம் செய்து கொள்ளவும்.


 Download the example spreadsheet



எக்செல்லில் உள்ள சீரற்ற எண் உருவாக்க[random number generation] முறை மட்டுமே இந்த எ.காவில் பயன்படுத்த போகிறோம்.ஆகவே எந்த மாதிரி சீரற்ற எண்கள் பயன்படுத்த வேண்டும் ஏன் என்ற கேள்விகளை தவிர்ப்போம். விடை அறிய முடியாது என்றல்ல,நேர விரயம்,நோக்கம் மாறுவதை தடுக்கவே!!!.

Sales Forecast Input Table 

Min=குறைந்த பட்ச மதிப்பு

Max =அதிக‌ பட்ச மதிப்பு

நாம் உள்ளீடுகளின் எல்லைகள்,மதிப்புகள் மட்டும் இட்டால் போதும்.


எக்செல்லில் இப்படி சூத்திரம் இடுவது எப்படி என பதிவு விரைவில் இடுவோம். இபோது இந்த எ.காவை புரிவதே முக்கியம்.


இபோது இந்த செயலாக்கம் n=500 முறை நடத்தி பார்க்கிறோம் எனில் அதையும் எக்செல் மாதிரியில் கொடுத்து ஆரம்பித்தால் இப்படி தீர்வு கிடைக்கிறது.


Random Inputs in Column Format

அதாவது எந்த உள்ளீடுகளின் மதிப்புகளுக்கு இலாபம் அதிகம் கிடைக்கும் வாய்ப்பு[marked in red] எனவே எளிதில் கண்டறிகிறோம்.


படி 3 [Evaluating the Model]

: இது ஒரு எளிய சூத்திரத்தின் மீது கட்டமைக்கப்பட்ட மாதிரி என்பதால் சரி பார்ப்பது எளிது. எனினும் கடந்த கால் ஆவணக்களோடு ஒப்பிட்டு சரிபார்ப்பதே சிறந்தது.

படி 4[Running the Simulation]: இது மீண்டும் மீண்டும் பல முறை நடத்தி சரி பார்க்கப்படவேண்டும்.

நான் முதலிலேயே கூறியபடி இது ஒரு கடல் மாண்டோ கார்லோ ஒப்பு செயலாக்கம் எக்செல் மாதிரியிலேயே பல விடயங்கள்க்கு தீர்வு காண முடியும்.மைக்ரோசாஃப்ட் கூட இதுகுறித்து பல் தகவல்கள் தருகிறது.


http://office.microsoft.com/en-us/excel-help/introduction-to-monte-carlo-simulation-HA001111893.aspx



பல மென்பொருள்களும் உண்டு.
http://omlc.ogi.edu/software/mc/
http://www.goldsim.com/Home/

நம் பதிவின் நோக்கமே மாண்டோ கார்லோ ஒப்பு செயலாக்கம் என எங்கேனும் கேள்விப்பட்டால் பெரிய கம்ப சூத்திரம் அல்ல ,இதுதான் அது என சிந்தனை கொண்டுவருவது மட்டுமே!!!!!!!!!!!!!.

நேரம் இன்மையால் ஆழமாக செல்ல முடியாமைக்கு வருந்துகிறேன்.

பின்னூட்டங்களில் சந்தேகங்களுக்கு முடிந்தவரை பதில் அளிக்கிறேன்.

நன்றி

Thanks with gratitude  to
Wittwer, J.W., "Generating Random Numbers in Excel for Monte Carlo Simulation" From Vertex42.com, June 1, 2004, http://www.vertex42.com/ExcelArticles/mc/GeneratingRandomInputs.html


7 comments:

  1. சார்வாகன்,

    //முதலில் இந்த பிரச்சினையை உள்ளீடு,வெளியீடு என பிரிக்க வேண்டும். அதுவும் உள்ளீடுகள் ஒன்றுக் கொன்று,வெளியீடுகள், மீது சாராமல் இருக்க[independent-variability] வேண்டும்.//
    சார்ந்த உள்ளீடுகள் இருந்தால், regression பிழை வரும். ஒரு சமன்பாட்டை உருவாக்கும் போதுகூட இதனைக் கணக்கில் கொள்ளவேண்டும்.

    //சரி ஒரு எ.கா மட்டும் பார்த்து விடுவோம். மேலே கொடுத்துள்ள சுட்டிகளின் அதிக தகவல்கள் உண்டு என்றாலும் குறைந்த பட்ச அறிமுகம் மட்டுமே நமது நோக்கம்.//

    இயந்திரம் பழுதடைதல், விபத்து போன்றவற்றில் கூட மாண்டோ கார்லோ ஒப்புச்செயலாக்கம் பயன்படுகிறது. ஒரு இயந்திரத்தின் உதிரி பாகங்களின் பழுதடையும் விகிதத்தை வைத்து இயந்திரத்தின் பழுதடையும் விகிதத்தை கண்டறிய முடியும்.

    ReplyDelete
    Replies
    1. வாங்க சகோ கு.பி(அதே பாணியில் அழைப்போம் ஹி ஹி)

      ஆம் சகோ இதற்கு அதிக பயன்பாடு உண்டு, ரிஸ்க் அனலைசிஸ்(இதுக்கு ரஸ்க் சாபிடுற மாதிரி), ரிலையபிலிட்டி என பல்ப்பல.

      ஏதோ தமிழில் இப்படி ஒன்றும் இருக்கிறது,எக்செல்லில் கூட பயன்படுத்தலாம் என்ற தகவல் சொல்லி அதை கொஞ்சப் பேராவது அறிந்தால் நம்க்கு மகிழ்ச்சி அவ்வள்வுதான்.

      நன்றி!!

      Delete
  2. பயனுள்ள அறிவியல அழகு தமிழில் தரும் நண்பருக்கு நன்றி.அ

    இவை அவசியம் தேவை. நல்ல பதிவு - நிச்சயம்- ஏனென்றல்ல் எனக்கு ஏது புரியவில்லை.

    ReplyDelete
  3. வணக்கம் சகோ.

    பயனுள்ளவர்களுக்கு பயனளிக்கும் என்பதற்காக தங்களின் பயனுள்ள முயற்சி பயனளிக்க என் வாழ்த்துக்கள்!!!!!!

    இனியவன்....

    ReplyDelete
  4. வணக்கம் சகோ.

    இதுதான் அது என்று அறிய முடிந்தது.
    மேலும் அறிய முடியவில்லை...ஹா..ஹா..

    இந்த பதிவை எளிமைபடுத்தியதில் நிறைய உழைப்பு.

    பதிவிற்கும் உழைப்பிற்கும் நன்றி.

    ReplyDelete
  5. சகோ தேவப் பிரியா, நரேன்,&இனியவ‌ன் கருத்துகளுக்கு நன்றி

    ReplyDelete
  6. //பயனுள்ள அறிவியல அழகு தமிழில் தரும் நண்பருக்கு நன்றி//
    //எனக்கு ஏது புரியவில்லை.//

    ........ditto ..........

    ReplyDelete