نمپی موونگ ایوریج

Nmpy Mwwng Aywryj



اپنا موضوع شروع کرنے سے پہلے، آئیے سمجھیں کہ موونگ ایوریج کیا ہے۔ اعداد و شمار میں، متحرک اوسط ڈیٹا پوائنٹس کا حساب لگانے اور تجزیہ کرنے کی ایک تکنیک ہے۔ یہ ایک مکمل ڈیٹا سیٹ سے مختلف ذیلی سیٹوں کی اوسط کی ایک سیریز بنا کر ڈیٹا پوائنٹس کا حساب لگاتا ہے۔ لہذا، ایک متحرک اوسط ایک پیمائش ہے جو وقت کے ساتھ معلوماتی سیریز میں عام تبدیلی کو پکڑتی ہے۔ حرکت پذیری سب سے زیادہ لچکدار اور اکثر استعمال ہونے والے تکنیکی تجزیہ اشارے میں سے ایک ہے۔ چونکہ یہ استعمال کرنا بہت آسان ہے، پیشہ ورانہ سرمایہ کار اسے اعداد و شمار میں ڈیٹا کے ایک مخصوص سیٹ کے ذریعہ استعمال کرتے ہیں۔ ہم روزانہ یا منٹ کے ڈیٹا پر استعمال کر کے ایک چھوٹی مدت میں حرکت پذیری اوسط کا حساب بھی لگا سکتے ہیں۔ مثال کے طور پر: 10 دن کی حرکت پذیری اوسط کا تعین کرتے وقت، ہماری مثال میں، ہم صرف پچھلے دس میں سے کسی ایک سے بند ہونے والی قیمتوں کا خلاصہ کریں گے۔ دن اور نتیجہ کو دس سے تقسیم کریں۔ اگلے دن، ہم پچھلے دس دنوں کی قیمت کا بھی حساب لگائیں گے جس کا مطلب ہے کہ ہم پہلے دن کی قیمت کا حساب نہیں لگا رہے ہیں۔ اس کی بجائے کل ہماری قیمت سے بدل دیا جائے گا۔ اعداد و شمار اس انداز میں ہر بڑھتے دن کے ساتھ بدلتے ہیں، اس وجہ سے اسے موونگ ایوریج کہا جاتا ہے۔ موونگ ایوریج کا مقصد کسی رجحان کے آغاز کا تعین کرنا، پھر اس کی پیشرفت کی پیروی کرنا اور اس کے الٹ جانے کی صورت میں رپورٹ کرنا ہے۔ حرکت پذیری اوسط کا حساب کرنے کا فارمولا Ft = (Dt1+Dt2+Dt3…+Dtn)/n ہے۔ جہاں Dt مدت t میں ڈیمانڈ ہے اور Ft وقت میں پیشن گوئی ہے۔

نحو:

ہم متحرک اوسط کو مختلف طریقوں سے شمار کر سکتے ہیں جو کہ درج ذیل ہیں:

طریقہ 1:

NumPy. کمسم ( )

یہ دی گئی صف میں عناصر کا مجموعہ لوٹاتا ہے۔ ہم cumsum() کے آؤٹ پٹ کو ارے کے سائز سے تقسیم کر کے متحرک اوسط کا حساب لگا سکتے ہیں۔







طریقہ 2:

NumPy. اور . اوسط ( )

اس میں درج ذیل پیرامیٹرز ہیں۔



a: صف کی شکل میں ڈیٹا جس کا اوسط ہونا ہے۔



axis: اس کے ڈیٹا کی قسم int ہے اور یہ ایک اختیاری پیرامیٹر ہے۔





وزن: یہ ایک صف اور اختیاری پیرامیٹر بھی ہے۔ یہ 1-D شکل کی طرح ہی ہو سکتا ہے۔ ایک جہتی کی صورت میں، اس کی لمبائی 'a' صف کے برابر ہونی چاہیے۔

نوٹ کریں کہ ایسا لگتا ہے کہ موونگ ایوریج کا حساب لگانے کے لیے NumPy میں کوئی معیاری فنکشن موجود نہیں ہے لہذا یہ کچھ دوسرے طریقوں سے کیا جا سکتا ہے۔



طریقہ 3:

حرکت پذیری اوسط کا حساب لگانے کے لیے ایک اور طریقہ استعمال کیا جا سکتا ہے:

جیسے convolve ( a , میں , موڈ = 'مکمل' )

اس نحو میں، a پہلا ان پٹ ڈائمینشنل ہے اور v دوسری ان پٹ ڈائمینشنل ویلیو ہے۔ موڈ اختیاری قدر ہے، یہ مکمل، ایک جیسی اور درست ہو سکتی ہے۔

مثال نمبر 01:

اب، نمپی میں موونگ ایوریج کے بارے میں مزید وضاحت کرنے کے لیے آئیے ایک مثال دیتے ہیں۔ اس مثال میں، ہم NumPy کے convolve فنکشن کے ساتھ ایک صف کی متحرک اوسط نکالیں گے۔ لہذا، ہم 1,2,3,4,5 کے ساتھ ایک صف 'a' لیں گے اس کے عناصر کے طور پر۔ اب، ہم np.convolve فنکشن کو کال کریں گے اور اس کے آؤٹ پٹ کو اپنے 'b' متغیر میں اسٹور کریں گے۔ اس کے بعد، ہم اپنے متغیر 'b' کی ویلیو پرنٹ کریں گے۔ یہ فنکشن ہماری ان پٹ سرنی کی حرکت پذیر رقم کا حساب لگائے گا۔ ہم آؤٹ پٹ کو پرنٹ کریں گے کہ آیا ہماری آؤٹ پٹ درست ہے یا نہیں۔

اس کے بعد، ہم اسی convolve طریقہ کا استعمال کرتے ہوئے اپنے آؤٹ پٹ کو موونگ ایوریج میں تبدیل کر دیں گے۔ متحرک اوسط کا حساب لگانے کے لیے، ہمیں صرف حرکت پذیر رقم کو نمونوں کی تعداد سے تقسیم کرنا ہوگا۔ لیکن یہاں بنیادی مسئلہ یہ ہے کہ چونکہ یہ ایک متحرک اوسط ہے جس جگہ پر ہم ہیں اس کے لحاظ سے نمونوں کی تعداد بدلتی رہتی ہے۔ لہذا، اس مسئلے کو حل کرنے کے لیے، ہم صرف ڈینومینیٹروں کی ایک فہرست بنائیں گے اور ہمیں اسے اوسط میں تبدیل کرنے کی ضرورت ہے۔

اس مقصد کے لیے، ہم نے ڈینومینیٹر کے لیے ایک اور متغیر 'denom' شروع کیا ہے۔ رینج ٹرک کا استعمال کرتے ہوئے فہرست کو سمجھنے کے لیے یہ آسان ہے۔ ہماری صف میں پانچ مختلف عناصر ہیں لہذا ہر جگہ کے نمونوں کی تعداد ایک سے پانچ ہو جائے گی اور پھر واپس پانچ سے ایک ہو جائے گی۔ لہذا، ہم صرف دو فہرستیں ایک ساتھ شامل کریں گے اور ہم انہیں اپنے 'ڈینوم' پیرامیٹر میں محفوظ کریں گے۔ اب، ہم اس متغیر کو یہ چیک کرنے کے لیے پرنٹ کریں گے کہ آیا سسٹم نے ہمیں حقیقی ڈینومینیٹر دیے ہیں یا نہیں۔ اس کے بعد، ہم اپنی متحرک رقم کو ڈینومینیٹر کے ساتھ تقسیم کریں گے اور آؤٹ پٹ کو 'c' متغیر میں اسٹور کرکے پرنٹ کریں گے۔ آئیے نتائج چیک کرنے کے لیے اپنے کوڈ پر عمل کریں۔

درآمد بے حس کے طور پر جیسے

a = [ 1 , دو , 3 , 4 , 5 ]

ب = جیسے convolve ( a , جیسے جیسے_پسند ( a ) )

پرنٹ کریں ( 'موونگ سم' , ب )

نام = فہرست ( رینج ( 1 , 5 ) ) + فہرست ( رینج ( 5 , 0 , - 1 ) )

پرنٹ کریں ( 'تقسیم کرنے والے' , نام )

c = جیسے convolve ( a , جیسے والے_پسند ( a ) ) / نام

پرنٹ کریں ( 'موونگ ایوریج' , c )

ہمارے کوڈ کے کامیاب نفاذ کے بعد، ہمیں درج ذیل آؤٹ پٹ ملے گا۔ پہلی سطر میں، ہم نے 'موونگ سم' پرنٹ کیا ہے۔ ہم دیکھ سکتے ہیں کہ ہمارے پاس شروع میں '1' ہے اور ارے کے آخر میں '5' ہے، جیسا کہ ہماری اصل صف میں تھا۔ باقی نمبرز ہماری صف کے مختلف عناصر کے مجموعے ہیں۔

مثال کے طور پر، ارے کے تیسرے انڈیکس پر چھ ہماری ان پٹ اری سے 1,2 اور 3 کو شامل کرنے سے آتے ہیں۔ چوتھے انڈیکس پر دس 1،2،3 اور 4 سے آتے ہیں۔ پندرہ تمام نمبروں کو ایک ساتھ جمع کرنے سے آتا ہے، وغیرہ۔ اب، ہمارے آؤٹ پٹ کی دوسری لائن میں، ہم نے اپنی صف کے ڈینومینیٹر پرنٹ کیے ہیں۔

ہمارے آؤٹ پٹ سے، ہم دیکھ سکتے ہیں کہ تمام ڈینومینیٹر بالکل درست ہیں، جس کا مطلب ہے کہ ہم ان کو اپنی متحرک رقم کے ساتھ تقسیم کر سکتے ہیں۔ اب، آؤٹ پٹ کی آخری لائن پر جائیں۔ آخری لائن میں، ہم دیکھ سکتے ہیں کہ ہماری موونگ ایوریج اری کا پہلا عنصر 1 ہے۔ 1 کی اوسط 1 ہے لہذا ہمارا پہلا عنصر درست ہے۔ 1+2/2 کی اوسط 1.5 ہوگی۔ ہم دیکھ سکتے ہیں کہ ہماری آؤٹ پٹ اری کا دوسرا عنصر 1.5 ہے لہذا دوسرا اوسط بھی درست ہے۔ 1,2,3 کا اوسط 6/3=2 ہوگا۔ یہ ہماری آؤٹ پٹ کو بھی درست کرتا ہے۔ لہذا، آؤٹ پٹ سے، ہم کہہ سکتے ہیں کہ ہم نے ایک سرنی کی حرکت پذیری اوسط کا کامیابی سے حساب لگایا ہے۔

نتیجہ

اس گائیڈ میں، ہم نے موونگ ایوریج کے بارے میں سیکھا: موونگ ایوریج کیا ہے، اس کا استعمال کیا ہے، اور موونگ ایوریج کا حساب کیسے لگایا جائے۔ ہم نے اس کا ریاضی اور پروگرامنگ دونوں نقطہ نظر سے تفصیل سے مطالعہ کیا۔ NumPy میں، متحرک اوسط کا حساب لگانے کے لیے کوئی خاص فنکشن یا عمل نہیں ہے۔ لیکن اس کے علاوہ بھی مختلف فنکشنز ہیں جن کی مدد سے ہم متحرک اوسط کا حساب لگا سکتے ہیں۔ ہم نے چلتی اوسط کا حساب لگانے کے لیے ایک مثال کی اور اپنی مثال کے ہر قدم کو بیان کیا۔ موونگ ایوریج موجودہ ڈیٹا کی مدد سے مستقبل کے نتائج کی پیشن گوئی کرنے کا ایک مفید طریقہ ہے۔