piątek, 23 listopada 2012

Wykresy

Częstym zadaniem na zajęciach z chemii, jest wykonanie wykresu na podstawie wyników doświadczenia. Pomyślałem, że można by podać tu parę przykładów, które mogą nieco pomóc zrozumieć o co chodzi, tym niespecjalnie zaznajomionym z matematyką.

Krzywa miareczkowania

Istnieje wiele typów miareczkowań, wszystkie jednak charakteryzują się bardzo podobnym kształtem wykresu pX od objętości dodawanego odczynnika (owym X może być stężenie jonów wodorowych bądź innych). Wykres zależności logarytmu zmiennej od objętości zwykle przyjmuje postać rozciągniętej litery S, o spłaszczonych końcach i nagłym skoku wartości. Punkt końcowy takiego miareczkowania powinien znajdować się dokładnie w połowie skoku krzywej. Aby ją wyznaczyć należy zastosować dość skomplikowaną konstrukcję matematyczną, którą narysowałem na wykresie z miareczkowania potencjometrycznego, które kiedyś wykonywałem:
Należy wybrać z prostoliniowych odcinków wykresu dwie linie równoległe i znaleźć linię do nich prostopadłą. Od jej środka należy wyprowadzić linię prostopadłą. Przetnie ona skok krzywej dokładnie w połowie. Powinna przynajmniej. Można wykonywać te operacje na wydruku, linijką i cyrklem dla lepszej dokładności. Jak jednak zauważyłem, można uzyskać ten sam efekt w inny sposób, mianowicie każąc Excelowi narysować linię trendu. Przetnie ona skok krzywej w połowie, jak to widać na mojej zupełnie wymyślonej krzywej poniżej:
Sprawdzałem, że nawet trzykrotne przedłużenie jednego z prostoliniowych odcinków wykresu, nie przesuwa tego punktu, może to być zatem taki nieklasyczny sposób wyznaczenie P.K.

Inny sposób to wykreślenie wykresu pochodnej. Pochodna, to taka funkcja, która pokazuje jak szybko zmienia się funkcja dana, albo ściślej, jest to funkcja różnicy Y do X. W tym przypadku może to być delta pH do czasu. Aby zrobić to w Excelu należy wpisać w jedno z okienek taki wzór, aby uzyskać ciąg wyników odejmowań wartości pH od tej która ją poprzedza.
Może objaśnię to na konkretnym przykładzie. Mamy taką oto tabelę danych, na podstawie której stworzyliśmy wykres ze skokiem krzywej:

Pochodna to funkcja w której zamiast kolumny wyników mamy kolumnę z różnicą między wynikiem następnym i poprzednim, więc w tym przypadku odejmujemy pierwszą wartość pH od drugiej, i wpisujemy na drugie miejsce nowej kolumny (od pierwszego wyniku nie ma od czego odjąć); na trzecim miejscu będzie wynik odejmowania drugiego wyniku od trzeciego, na czwartym trzeciego od czwartego itd. Najlepiej wpisać od razu formułę i przeciągnąć w dół:
Po czym należy stworzyć nową tabelę na podstawie otrzymanych wyników:
Jak widać dopóki odejmowane od siebie wyniki mieściły się na prostej, ich pochodna przyjmowała stałą wartość, dopiero w obrębie skoku krzywej zwiększała się. Czubek "piku" pochodnej stanowi środek skoku krzywej a więc też punkt końcowy. Dla pierwszej zmyślonej krzywej:


Jeśliby jednak wartość skoku krzywej była mała a on sam dosyć łagodny, tak że nasza pochodna uzyskałaby kształt mocno zaokrąglony, dla pewności można wyprowadzić pochodną naszej pochodnej, która nam te zmiany zaostrzy. Niestety dla niedokładnych pomiarów, w których krzywa pierwotnego wykresu ma dosyć dużo nagłych załamań, będących punktami szybszej zmiany wartości, wykres drugiej pochodnej może być prawie nieczytelny, jak na tym, będącym drugą pochodną rzeczywistej krzywej z pierwszego obrazka:


Nieco inny kształt ma krzywa dla miareczkowania konduktometrycznego. Tutaj miareczkujemy analit roztworem, zawierającym jony "niwelujące" przewodnictwo związane z jonami analitu. Na przykład miareczkowanie wodorotlenku sodu kwasem solnym.
Roztwór na początku ma dobre przewodnictwo związane z obecnością kationów sodowych ale zdecydowanie mocniej z jonami hydroksylowymi. Gdy dodamy do niego kwasu solnego jony hydroksylowe zareagują z hydroniowymi czyli zobojętnią się i powstanie słabo przewodząca woda. Wprawdzie równocześnie wprowadziliśmy aniony chlorkowe, ale ich wpływ na przewodzenie nie jest duży a całość nam się rozcieńczyła dlatego ogólne przewodnictwo spadło. W miarę dodawania kolejnych porcji kwasu przewodnictwo będzie spadało aż do punktu końcowego, czyli zobojętnienia. Po jego minięciu jony hydroniowe z kwasu będą poprawiały przewodnictwo, które będzie rosło. W dobrych warunkach otrzymamy ładny wykres w kształcie litery V jak na tym z rzeczywistego miareczkowania:
Oczywiście mówię tu o dobrych warunkach, często, zwłaszcza dla miareczkowania słabych elektrolitów, krzywa jest mniej lub bardziej wypłaszczona na dnie.


Krzywa wzorcowa
Dla wielu przypadków nie możemy otrzymać wyniku pomiaru wprost, lecz musimy odnosić go do pewnej skali, wykonanej w tych samych warunkach, na przykład przez pomiar wykonany na roztworach wzorcowych o znanym stężeniu. Z każdego pomiaru otrzymujemy jeden wynik, jeden punkt do umieszczenia na wykresie. Teraz więc powinniśmy wyznaczyć z tego krzywą - albo raczej prostą. Rzecz bowiem w tym że najlepiej gdy nasz wynik mieści się w tym zakresie warunków, w którym zależność stężenie/wynik jest liniowa, wówczas możemy bez problemu przyjąć że nawet jeśli nasz wynik odpowiada położeniu między punktami roztworów wzorcowych, to odpowiada stężeniu leżącemu na wyznaczonej przez nie prostej.
Jeśli wszystko przygotujemy jak trzeba a sprzęt będzie działał bez zarzutu, otrzymamy ładniutką linię jak tu:

Niestety świat nie jest idealny a nasza dokładność ograniczona, toteż zwykle otrzymujemy pewien zbiór punktów które nie bardzo da się na siebie nałożyć. W dodatku wcale nie jest powiedziane, że zależność pomiar/stężenie musi być liniowa dla wszystkich warunków. Weźmy na przykład taki wykres zależności absorbancja/stężenie dla pewnego kompleksu:

Dla niskich stężeń kompleks jest mało trwały i zabarwienie jest słabsze niż by to wynikało z rozcieńczenia; po przekroczeniu pewnej granicy zależność jest liniowa i daje się opisać pewnym wzorem matematycznym, natomiast powyżej pewnego stężenia jony kompleksu tworzą konglomeraty zabarwione silniej. W dodatku w roztworze nie zawierającym kompleksu przyrząd zmierzył jakaś absorbancję i wykres nie zaczyna się w punkcie 0/0. Tak się akurat może zdarzyć i zdarzało się, chociaż powyższy wykres został wymyślony.
Teraz próbujemy za pomocą tego wykresu wyznaczyć z absorbancji trzech próbek ich prawdziwe stężenia - dla punktu 1 jest to łatwe, bo nałożył się na jeden z punktów pomiarowych, w tym przypadku odpowiadając stężeniu 0,09. Dla punktu 2 też nie jest to trudne - zmieścił się w zakresie zaznaczonego na czerwono odcinka liniowego, możemy więc wyznaczyć właściwe stężenie metodą graficzną, zaznaczając punkt na wykresie i sprawdzając jakiemu stężeniu odpowiada (powiedzmy że 0,055), możemy też jednak zrobić rzecz dokładniej.
Możemy wyciąć z wpisanej w Excela tabeli kawałek, odpowiadający liniowej zależności i po stworzeniu na jego podstawie wykresu kazać programowi aby wyrysował linię trendu z równaniem określającym zależność X od Y - w tym przypadku równanie miało postać Y = 8,109x + 0,928. Wiedząc jakie jest Y (absorbancja) możemy wyliczyć X czyli stężenie i równanie będzie pasowało dla wszystkich pomiarów mieszczących się w tym zakresie.
Pozostał nam jednak jeszcze jeden pomiar, który wypadł poza odcinkiem liniowym, w dodatku między punktami pomiarowymi. Możemy wykreślić między nimi odcinek i założyć, że gdy postawimy nasz punkt na tej linii to będziemy mogli odczytać prawidłową wartość, ale któż mógłby nam zaręczyć, że akurat na tym odcinku prawdziwa zależność nie wije się wedle pewnej nieprostej linii, nie poddającej się opisowi przez równania? Na przykład takiej oznaczonej zieloną krzywą. Nikt nie może czegoś takiego przewidzieć, a jeśli nie wiemy dokładnie jaka jest tutaj zależność i jakiemu Y odpowiada jaki X to nie wyznaczymy zależności ani graficznie ani matematycznie zaś wynik który możemy otrzymać będzie obarczony błędem, który może być największym błędem w całej analizie. Dlatego właśnie najlepiej wyznaczyć krzywą przed właściwym badaniem i starać się aby stężenia analizowanych próbek w miarę możliwości mieściły się w odpowiednim zakresie.

Wprowadźmy jednak nieco więcej chaosu. Może się zdarzyć że nasz sprzęt jest stary i zdarzają mu się duże szumy, zafałszowujące wyniki w obie strony i gdy naniesiemy punkty na wykres otrzymamy taką rozsypkę:

No cóż, bywa i tak. Jeśli jednak faktycznie są to przypadkowe szumy, to pamiętajmy że przypadek szumi średnio statystycznie po równo w obie strony - zatem w tym obłoczku jest prawdziwa linia trendu, a tylko złośliwie ktoś po przesuwał część punktów nad i pod nią. W takiej sytuacji musimy albo zdać się na opcję "dodaj linię trendu" albo samemu wyznaczyć jakąś linię, która znajdzie się najbardziej pomiędzy punktami. Dobra linia powinna przechodzić przez możliwie najwięcej punktów oraz umiejscawiać się pośrodku między skrajami grupy, a także mieć w miarę możliwości tyle samo punktów nad co pod nią, jak w tym przypadku:

gdzie linia przechodzi wprawdzie tylko przez trzy punkty, ale ma równo po cztery nad sobą i pod.
Ale oczywiście - powiecie zaraz,  chyba łatwiej jest zlecić to Excelowi? Jak najbardziej, tylko że czasem rzucając mu surowe dane otrzymamy linię trendu zupełnie fantazyjną, jak na poniższym przykładzie:

Zdawałoby się że wyszłaby nam ładna linijka z małymi odchyleniami, ale jeden punkt ma wartość prawie dwa razy za dużą, dlaczego? A bo na przykład obluzował się kabelek przy elektrodzie, albo kuweta kolorymetru nie była przetarta i na drodze wiązki znalazła się rozpraszająca kropla. Tak się może zdarzyć, jeśli zauważymy rzecz w porę, będziemy mogli powtórzyć pomiar tej próbki, jeśli tego nie zrobimy pozostaniemy z bardzo dziwnym wynikiem.
Jedną z rzeczy które prowadzący bardzo tępili było takie właśnie bezrefleksyjne działanie, ślepe zawierzenie procedurze, jakie obrazuje powyższy wykres. Nie trzeba wielkiego doświadczenia aby zauważyć, że z linią trendu jest coś nie tak. Wprawdzie program wyrysował ją poprawnie i zgodnie z zasadą "najbardziej wypośrodkowanej linii" ale przecież leży na niej tylko jeden punkt a zupełnie pominięto kilka leżących na wyraźnej prostej. Niestety bywało (a nawet i mi dawniej się przydarzało) że uczeń zgodnie z procedurą w ćwiczeniu tworzył wykres, kazał rysować programowi absurdalny trend, potem równanie i z równania wychodziły mu wyniki z błędem rzędu 150% i więcej. I co teraz z tym zrobić?
Do śmieci. Jeśli widzimy że wynik jest absurdalnie za duży lub za mały i występuje sam jeden dziwak wśród innych normalnych, to pomińmy go jako błąd i wyrysujmy wykres dla pozostałych danych, z czego na przykład otrzymamy coś takiego:

I od razu lepiej. Z reguły w pomiarach posiadających bardzo dużo punktów pomiarowych takie przypadkowe szumy można eliminować odpowiednimi programami, należy jedynie określić jakiś przedział, w ramach którego wyniki uznaje się za błąd, na przykład zależność powinna być liniowa i punkty odbiegające od sąsiednich - poprzedniego i następnego - o więcej niż powiedzmy 5% są eliminowane, zaś te z mniejszym odchyleniem włączane i uwzględniane. W ten sposób wykres się nam wygładza a błąd zmniejsza.
Praktyka ta ma jednak swoją złą stronę - pod pozorem eliminowania punktów błędnych nieuczciwi badacze (i studenci) mogą dopasować dane do z góry powziętej tezy. Jeśli ktoś chce wykazać silną zależność na przykład między dawką leku a spadkiem odczuwalnego stopnia bólu głowy, może wyeliminować z części wykresu dolne punkty, z drugiej górne i prowadząc trend po punktach skrajnych wykazać silne działanie preparatu. Zwykle wykrywa się takie oszustwa przez dokładną analizę - jeśli na przykład w badaniu wykazano silną korelację między podlewaniem krzewów kawowych krowim moczem a spadkiem aflatoksyn w ziarnach, lecz zarazem jako błędne wyeliminowano 40% danych, to coś tu jest nie tak.

Może coś to pomoże.

ps. ponieważ ostatnio ten post miał spore zainteresowanie, dodałem praktyczny przykład postępowania.

12 komentarzy:

  1. W przypadku tym:
    http://3.bp.blogspot.com/-H8nOrUA6rt8/UK6HkC4METI/AAAAAAAABEE/r-f5Pwqfzu4/s1600/rozsypka+z+nini%C4%85.bmp
    "Dobra linia powinna przechodzić przez możliwie najwięcej punktów", absolutnie się nie zgodzę, przynajmniej ze statystycznego punktu widzenia. Jeżeli masz "zepsutą" lub po prostu niedokładną aparaturę Twoja funkcja niekoniecznie musi przebiegać przez jakikolwiek punkt. Jest nawet wysoce prawdopodobne, iż przy takim rozkładzie nie będzie przebiegać przez jakikolwiek. Jedynie, co możemy wtedy zrobić, to dopasować prostą metodą najmniejszych kwadratów, co pozwoli dodatkowo określić niepewność naszej aparatury pomiarowej.

    W przypadku znacząco odbiegającego punktu mamy błąd gruby i go wywalamy. gdy mamy masę punktów najłatwiej jest szybko zrobić histogram odpowiednich funkcji naszych zależności. Co więcej zwykle bardzo łatwo jest dzięki analizie statystycznej sprawdzić, czy ktoś nie wywalił wszystkich niepasujących wyników lub po prostu ich nie podrobił.

    OdpowiedzUsuń
    Odpowiedzi
    1. Jeszcze dodam, że przy dopasowaniu prostej do funkcji charakterystycznej nigdy nie będzie sytuacji, że wszystkie punkty leżą na tej funkcji, ze względu na różnego rodzaju efekty dodatkowe. Przy metodzie dopasowywania prostych do pierwszych wyników również zauważyć można, iż punkty nie leżą na prostej, w związku z tym warto jest obliczyć ich średnią niepewność pomiaru.

      W przypadku zaś:
      http://2.bp.blogspot.com/-YbQA8sEPuME/UK53kkxxnJI/AAAAAAAABDg/7s2_ujnWiNU/s1600/odcinek+liniowy.bmp
      można by było do końcówek spokojnie dopasować odpowiedni wielomian, co by pozwoliło mieć charakterystykę na cały zmierzonym przedziale.

      Usuń
    2. Dzięki za uwagi, ja się takimi narzędziami matematycznymi nie bawiłem. W zasadzie przedstawiłem tu to z czym sam się zetknąłem pisząc sprawozdania z różnych przedmiotów. Szczerze mówiąc nie zdarzyło mi się jeszcze aby linia trendu nie przechodziła przez żaden punkt, nie miałem jeszcze aż tak dużej rozsypki.

      Usuń
  2. "karząc Excelowi narysować" - oczy bolą... :(

    OdpowiedzUsuń
  3. Przepraszam, mógłbyś podpowiedzieć jak wykonać takie makro jak do miareczkowania kwasu zasadą?

    OdpowiedzUsuń
    Odpowiedzi
    1. Znaczy się wykres czy odnajdywanie środka skoku? Wykres w Excelu a konstrukcję geometryczną na wydruku.

      Usuń
  4. jak zrobic linie pomocnicze w exelu chodzi mi o 1 zdjęcie wykresu pomocy!!!

    OdpowiedzUsuń
  5. Bardzo profesjonalnie zostało tu wszystko opisane :)

    OdpowiedzUsuń
  6. Mam pytanie i proszę o pomoc. Krzywa miareczkowania potencjometrycznego badanego roztworu wykazała, że pH podczas miareczkowania wzrasta, maleje, znów wzrasta... jest kilka skoków. Na wykresie I pochodnej widać zarówno spadki, jak i wzrosty pH. Natomiast na wykresie II pochodnej nie widać żadnego skoku miareczkowania. Nie występuje żadna wartość wysoka i sąsiadująca z nią wartość ujemna, w związku z czym krzywa nie przecina osi OX. Proszę o pomoc, nie potrafię tego zinterpretować.

    OdpowiedzUsuń
    Odpowiedzi
    1. A w jakich to było robione warunkach? Może mieszanie było za słabe i do elektrody czasem dolatywała frakcja z nierozmieszanym titrantem, stąd te skoki?

      Usuń
  7. Tak, to było miareczkowanie osadu. Rozumiem, że wykres I pochodnej obrazuje zmiany pH w objętości titranta: spadki lub wzrosty. A o czym dokładnie mówi wykres II pochodnej?

    OdpowiedzUsuń
    Odpowiedzi
    1. Zgodnie z definicją, pochodna funkcji pokazuje szybkość zmian jej wartości. Czyli: wykres miareczkowania pokazuje jakie po dodaniu objętości titranta wartości przyjmowało pH; pochodna wykresu pokazuje jaka jest zmiana pH między kolejnymi punktami (o ile jednostek nastąpiła różnica). Druga pochodna pokazuje natomiast jak zmienia ta się zmiana (czy zmiana wartości pH następowała o tyle samo). Fizycznie pierwszą pochodną funkcji zmian odległości w czasie jest prędkość, a drugą pochodną przyspieszenie. Brak przejścia przez punkt zerowy "przyspieszenia" zmian pH oznacza, że nie było spowolnienia pierwszej pochodnej; ten zaś oznaczałby, że nie było punktu po którym przyrastająca lub spadająca wartość wraca do poprzedniej szybkości zmian po minięciu punktu końcowego. Czyli albo w trakcie miareczkowania nie osiągnięto punktu końcowego albo reakcja nie zachodziła właściwie. Nie było to aby miareczkowanie konduktometryczne? Wtedy krzywa jest inna i może wyjść taka druga pochodna.

      Usuń