این دستگاه اختلاف بین دو طرف غشاء الکترود نیترات در مقایسه با اختلاف پتانسیل یک الکترود مرجع اندازهگیری شده است. در حقیقت دستگاه فعالیت یون نیترات را اندازهگیری کرده است. این الکترود قادر به اندازهگیری یون نیترات در دامنه 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 شده.