
سطح استان مربوط به سالهاي 1386 و 1387 استفاده شده که مشخصات آنها در جدول (3) پيوست آمده است.
3-2-2 زمان نمونه برداري
در بخش (الف) نمونهبرداري از چاهها از ابتداي دي ماه سال 1379 آغاز شده و در 5 مرحله با فواصل زماني يک ماهه تا ارديبهشتماه سال 1380 ادامه يافته است.
در بخش (ب) نمونهبرداري از چاهها به صورت حداکثر فصلي و حداقل يک بار در سال صورت گرفته شده است.
3-2-3 تجزيههاي شيميايي
نمونههاي آب چاه پس از انتقال به آزمايشگاه طبق روشهاي استاندارد آزمايشگاهي مورد آزمايش قرار گرفته شده و علاوه بر اندازهگيري نيترات که پارامتر اصلي بوده مقادير سديم, پتاسيم, کلسيم, منيزيم, سولفات, کلر, بيکربنات، PH, هدايت الکتريکي، نسبت جذبي سديم و سختي کل در آنها با استفاده از دستگاهها و روشهاي زير اندازهگيري شده است.
اندازهگيري نيترات : يون نيترات توسط الکترود انتخابگر يوني134 جنوي135 مدل3310 اندازهگيري شده است. در اين دستگاه اختلاف بين دو طرف غشاء الکترود نيترات در مقايسه با اختلاف پتانسيل يک الکترود مرجع اندازهگيري شده است. در حقيقت دستگاه فعاليت يون نيترات را اندازهگيري کرده است. اين الکترود قادر به اندازهگيري يون نيترات در دامنه 6-10×7 تا 1 مولار (43/0 تا 104×2/6 ميليگرم بر ليتر نيترات) بوده است.
بايد توجه شود که اين در صورتي است که يونهاي مزاحم در محلول وجود نداشته باشد. مهمترين يونهاي مزاحم در مورد الکترود نيترات عبارتند از کلر, بي کربنات, استات, سولفات و فلورايد که در بين اين يونها، يون کلر و بيکربنات مزاحمت بيشتري ايجاد کردهاند. عليرغم مشکلات مربوط به مزاحمت يونها، روش اندازهگيري نيترات به کمک الکترود نسبت به ساير روشها به خاطر دقت بالاتر و صرفهجويي در زمان و هزينه برتري دارد [126 و 150].
اندازهگيري هدايت الکتريکي : هدايت الکتريکي نمونههاي آب چاه توسط دستگاه هدايت سنج مدل 644 متر- اهم انجام شده است [100].
اندازهگيري کلسيم و منيزيم : مقدار کاتيونهاي کلسيم و منيزيم در نمونهها توسط تيتراسيون با محلول 01/0 نرمال ورسين اندازهگيري شده است [100].
اندازهگيري سديم و پتاسيم : مقدار کاتيونهاي سديم و پتاسيم در نمونههاي آب چاه توسط دستگاه فليم فتومتر کورنينگ مدل 410 اندازهگيري شده است [100].
اندازهگيري کلر : اندازهگيري آنيون کلر بوسيله تيتراسيون با محلول 025/0 نرمال نيترات نقره و در حضور بيکرمات پتاسيم انجام گرديده است [100 و 150].
اندازهگيري بيکربنات : آنيون بيکربنات موجود در نمونههاي آب چاه به روش تيتراسيون با محلول 05/0 نرمال اسيد سولفوريک در حضور معرف متيل اورانژ اندازهگيري گرديده است [100].
اندازهگيري سولفات : مقدار يون سولفات در نمونه ها به روش کدورت سنجي و به کمک دستگاه اسپکترونيک بوش و لامب مدل 20 اندازهگيري شده است [100 و 150].
اندازهگيري PH : مقدار PH نمونههاي آب چاه توسط دستگاه پ- هاش سنج مدل 620 متر- اهم اندازهگيري گرديده است [100].
3-3 مراحل تهيه شبکه عصبي مصنوعي
پس از تعريف دادههاي ورودي و خروجي در MATLAB ميتوان از دو طريق شبکه عصبي مصنوعي را تهيه نمود روش اول که روش سادهتر است استفاده از ابزار NNTool136 نرم افزار Matlab بوده که پس از تشکيل ماتريس ورودي و خروجي و تعريف شبکه مورد نظر بايد چندين بار نرمافزار را اجرا نموده تا مناسبترين شبکه، توليد و تربيت شود. (لازم به ذکر است که تعيين ساختار مناسب شبکه بايد با سعي و خطا و چندين مرتبه تکرار انجام شود) و روش دوم تهيه شبکه به روش برنامه نويسي و استفاده از دستورات پيشفرض نرم افزار Matlab بوده که در ادامه، توضيح مراحل تهيه شبکه به اين روش آورده شده است.
3-3-1 انتقال دادهها از Excel به MATLAB :
پس از انجام تمام مراحل مرتب کردن و تصحيح دادهها در Excel به منظور انجام محاسبات و اجراي آزمايش، دادهها به صورت دو ماتريس جداگانه (ماتريس متغيرهاي ورودي=p و ماتريس متغيرهاي خروجي=t) وارد صفحه کاري MATLAB گرديده تا عمليات پردازش بر روي اين دادهها صورت گيرد.
پس از متصل نمودن Excel به MATLAB، جهت انتقال دادهها به منظور پردازش آنها در MATLAB، زير خط ابزار Excel چهار گزينه ظاهر شده که شامل موارد زير است:
Start matlab: براي راهاندازي Matlab به کار برده شده، يعني اين گزينه باعث اتصال اين دو برنامه به يکديگر و شروع کار هماهنگ آن دو شده است.
Put matrix: اين گزينه دادههاي ماتريسهاي ورودي و خروجي را وارد Matlab مينمايد (دادهها به هر شکلي که در Excel بودهاند بايد به صورت ماتريس وارد Matlab شوند).
در ابتدا دادههاي مورد نظر را در Excel انتخاب کرده و سپس روي اين گزينه کليک کرده، پنجرهاي ظاهر شده که ميخواهد نامي براي ماتريس دادهها انتخاب شود (هر نامي که در اينجا براي ماتريس انتخاب شود در صفحه کاري Matlab نيز به همين نام فراخوانده شده است). هنگاميکه نام ماتريس انتخاب شد آن را تأييد کرده و آنگاه با تايپ اين نام در صفحه کاري Matlab، کل دادههاي موردنظر را بصورت يک ماتريس b×a ظاهر شده است (a: تعداد پارامترهاي مستقل و b: تعداد نمونههاي قرائت شده هستند). دادههاي مربوط به متغير خروجي (ماتريس t) نيز بصورت يک ماتريس b×c (:c تعداد متغير وابسته بوده که در اينجا متغيير نيترات بوده و برابر 1 بود) ظاهر گرديده است.
Get matrix: دادهها را از Matlab به Excel منتقل کرده يعني ماتريسي را که در Matlab ساخته شده (مثلاً ماتريس A که توسط شبکه پيشبيني شده) توسط اين گزينه وارد Excel شده است. با کليک روي اين گزينه پنجرهاي ظاهر شده که نام ماتريس مورد نظر را خواسته است، پس از وارد کردن نام ماتريس و تأييد آن، دادههايي را که در Matlab به صورت ماتريس موجود بوده را در صفحه Excel نمايش داده شده است.
Evalstring: ميتوان با اين گزينه دستور و فرمولهاي لازم را در Excel براي Matlab نوشت، سپس توسط اين گزينه آنرا به برنامه Matlab فرستاد [137].
3-3-2 پيش پردازش دادهها
عبارت پيش پردازش دادهها داراي مفهوم وسيعي است. اين عمل شامل انتخاب متغيرهاي مؤثر، انتخاب الگوهاي آموزش و آزمون و نيز نرمالکردن (استاندارد کردن) الگوها بوده است. هدف از نرمال کردن، همارزش کردن تمامي عناصر موجود در يک الگو است. در نظر گرفته، شبکه عصبي مصنوعي داراي دو نورون ورودي باشد. دادههاي مربوط به نرون اول در دامنه وسيعي همچون [1000و0] پراکنده شدهاند. اما دادههاي مربوط به نرون دوم بنا به بعد خاص متغير مربوطه داراي دامنه تغييرات بسيار کوچکي همچون [2 و 0] بودهاند. در صورتيکه دادهها بصورت خام به شبکه عرضه شود، شبکه تغييرات مربوط به نرون دوم را در مقايسه با نرون اول ناچيز پنداشته و ميتوان گفت که اصلاً وجود نرون دوم را درک نکرده است. حال آنکه ممکن است اطلاعات مربوط به نرون دوم، اطلاعات بسيار ارزشمندي باشند. بدين منظور لازم است وروديهاي تمام نرونها نرمال شوند. معمولاً نرمال کردن الگوها به فرمي است که آنها را به بازه مشخصي مانند [9/0 و 1/0] و يا [1 و 0] نگاشت داده شدهاند.
پس از نرمال کردن تمامي الگوها، نوبت به انتخاب الگوهاي آموزش و آزمون رسيده است. با توجه به اينکه شبکه عصبي مصنوعي ذاتاً فاقد قدرت برونيابي بالاست و توانايي تعميمدهي آن فقط در چارچوب درونيابي مطرح شده است، انتخاب دادههاي آموزش بسيار مهم به نظر رسيده است.
ماتريسهاي ورودي و هدف قبل از اينکه توسط شبکه مورد استفاده قرار گرفته شوند بايد استاندارد و نرماليزه شوند. نرماليزه کردن يعني اعدادي را که در يک بازه نامتناهي قرار دارند، در يک بازه متناهي قرار دهيم.
هر سطر در ماتريس ورودي و خروجي نشان دهنده يک متغير بوده است. جهت نرماليزه کردن ماتريسهاي صفات ورودي و خروجي، انحراف هر مشاهده از ميانگين را بدست آورده و آنرا بر انحراف معيار تقسيم نموده، ميانگين هر کدام از ستونهاي استاندارد شده، برابر صفر و انحراف ميانگين آنها برابر 1 بوده است.
بنابراين براي نرماليزه کردن ماتريسهاي p,t، ابتدا با استفاده از يک عملگر رگرسيون خطي، هر يک از متغيرها را مستقل خطي نموده و سپس با استفاده از دستور prestd در Matlab ميانگين هر کدام از ستونها را برابر صفر و انحراف از ميانگين (Sd) آنها را برابر يک قرار داده و دادهها، استاندارد شده است.
[Pn, Meanp, Stdp ; tn, meant, stdt] = prestd (p,t)
Pn = ماتريس ورودي نرماليز شده.
Meanp = دستوري که ميانگين ماتريس p را برابر صفر قرار داده است.
Stdp = دستوري که sd (انحراف از ميانگين) ماتريس p را برابر يک قرار داده است.
tn = ماتريس هدف نرماليز شده.
Meant = دستوري که ميانگين ماتريس t را برابر صفر قرار داده است.
Stdt = دستوري که sd (انحراف از ميانگين) ماتريس t را برابر يک قرار داده است.
prestd (p,t) = دستور استاندارد کردن ماتريس ورودي و خروجي (کل دادهها)
سپس با استفاده از يک عملگر رگرسيون خطي، هر يک از متغيرها را مستقل خطي نموده (هنگامي که يکي از ستونهاي ماتريس، حاصلضرب ستون ديگري از همان ماتريس در يک عدد يا ستون ديگر باشد، گفته شده که ستونهاي ماتريس وابستگي خطي دارند).
در برخي مواقع ابعاد ماتريس ورودي خيلي بزرگ است و مؤلفههاي بردار ماتريس ورودي با يکديگر همبستگي بالايي دارند (تکراري بودهاند) و ممکن است همة مؤلفههاي ورودي تأثير زيادي بر مؤلفه پاسخ نداشته باشند. در چنين مواقعي براي کاهش ابعاد ماتريس ورودي و تنها استفاده از مؤلفههاي مؤثر بر مؤلفه پاسخ، عمل آناليز ميزان اثر هر کدام از مؤلفهها انجام شده و مؤلفههايي که اثرشان از سطح معيني کمتر است و يا وابستگي خطي با هم دارند، بوسيله آناليز مؤلفههاي اصلي از دسته ماتريسهاي ورودي حذف شده و به اين منظور از دستور propca استفاده گرديده است. اين روش داراي سه اثر بوده است:
1) عناصر بردار ورودي را اورتوگونال کرده است (همبستگي بين آنها را از بين برده است).
2) منجر به متعامد شدن مؤلفههاي بنيادي در بردار ورودي گرديده است (استحکام در بردار ورودي).
3) مؤلفههايي را که اثرشان واريانس کوچکي را در دسته دادهها شامل شده از معادله حذف کرده است.
[ptrans, transmit] = propca (pn, 0.001)
Ptrans = ماتريس ورودي pca شده.
transmit = ماتريس خروجي pca شده.
propca = دستور حذف مولفههاي تکراري از ماتريس ورودي و حذف مولفههاي با واريانس کوچک 0.001 = مؤلفههايي را که اثرشان، واريانس کوچکتر از 001/0 در دستة دادههاي ورودي را شامل شده از ماتريس ورودي حذف کرده است.
3-3-3 تفکيک ماتريس پيشبيني از ماتريس کل
به منظور انجام پيشبيني، يک دسته ماتريس مربوط به رکوردهاي موجود را بصورت تصادفي از بين کل دادههاي ورودي و متناظر آن در دادههاي خروجي، جدا نموده و جهت اطمينان از اينکه اين دادهها در مجموع دادههايي که براي آموزش و آزمون و برآورد ارزش شبکه بهکار رفتهاند، وجود داشته باشند، مقادير معادل آنها برابر تهي قرار داده شده است.
S = ptrans (, row column)
R= tn (, row : column)
ptrans (, row : column) = [ ]
tn (, row : column) = [ ]
بعد از اين مرحله به جهت ساختن شبکه، نياز داشته ابعاد ماتريس ورودي را مشخص ساخته که بدين منظور از دستور زير در Matlab استفاده شده است:
[R, Q] = Size (Ptrans)
3-3-4 تفکيک دادهها براي ارائه به ماتريس ورودي
از کل دادههاي موجود، تعدادي براي آموزش شبکه و تعدادي مربوط به آزمون و رکورد شبکه و تعدادي نيز براي برآورد ارزش شبکه، مورد استفاده قرار گرفته شده است.
iitst = 2:4:Q
مفهوم: از تمام رکوردهاي موجود در نمونه از سطر دوم تا انتها با گام چهارتايي
