Középiskolai Matematikai és Fizikai Lapok
Informatika rovattal
Kiadja a MATFUND Alapítvány
Már regisztráltál?
Új vendég vagy?

Fórum: Mért adatok finomhangolása

Szeretnél hozzászólni? Jelentkezz be.
[9] Hajba Károly2010-03-23 20:27:41

A legkisebb négyzetek módszerét alkalmazva lokális trendfüggvényeket alkalmazol minden pontra másodfokú parabola trendfüggvénnyel. Előtte 4, utána 4, azaz 9 ponttal. Majd nézed az adott pontra az eltérést. Tapasztalati értéket alkalmazva kiszűrhető a túlzott eltérés. Felveszed több olyan helyen a trendfüggvényt, ahol szemrevételezéssel nincs mérési hiba, s ebből kijön egy legnagyobb eltérés. Ami az éles számításnál ezen túli, az mérési hiba. Itt a trend eredményét alkalmazod, de 50 % súlyozással.

Az így kapott módosított mérési eredményekre meg alkalmazod a feltételezett polinomillesztést.

Ha nem ismered a trendfüggvényt, akkor megbeszéljük, nem bonyolult. Elvileg hullámzó, azaz inflexiós pontokat is tartalmazó görbénél pontosabb a harmadfokú trendfüggvény, de az bonyolultabb.

Előzmény: [1] HunWolf, 2010-03-16 12:33:17
[8] Fernando2010-03-23 19:18:02

Hogyan keletkezik az a SPLINE?

Nehéz ügy: kiszedni a hibás kiugrásokat, miközben lehetnek természetes kiugrások is. Hogyan válasszuk el a "rossz kiugrást" a "jó kiugrástól"... Mi a különbség? A képen látható példában van hibásnak tűnő módon kiugró mérési adat?

Előzmény: [7] HunWolf, 2010-03-17 15:41:09
[7] HunWolf2010-03-17 15:41:09

Fernando hozzászólásához annyit fűznék, hogy a Spline interpolációt pont azért javasolták, mert a lehető legjobban illeszkedik a mérési pontokhoz, tehát nem nyúlik túl, hanem a pontokat összekötő vonalak által keletkező, úgymond zárt felületen belül marad, leginkább úgy vettem észre a spline polinomnál, hogy az eredeti kiindulási értékek (y) lokális szélsőértékei és inflexiós pontjai lesznek a keletkező spline görbének, vagy legalábbis közelítik ezen pontokat.

Nem vezettem le.

Ezért akarom előkészíteni a görbét, vagyis hibamentessé tenni, melyet ezután nyugodt szívvel interpolálhatok.

Előzmény: [3] Fernando, 2010-03-16 22:44:04
[6] psbalint2010-03-17 00:33:25

igen, időközben rájöttem hogy az úgymond helyénvaló erős csökkenést vagy növekedést (mint a példában 40-45-nél kb) is megbolygatja a módszer, így nem jó semmire.

Előzmény: [4] HunWolf, 2010-03-16 23:35:30
[5] HunWolf2010-03-16 23:44:32

Még annyi, hogy a haranggörbe viszonylag szélesebb intervallumba illeszkedik (pl.: 30-200 méteres tartomány), míg a hibás adat vagy 2 egymást követő hibás adat (5-15 méteres) tartományban ugrik ki.

[4] HunWolf2010-03-16 23:35:30

psbalint megoldás jó lenne, de nem említettem meg, hogy ez a mért görbe tartalmazhat természetes eredetű hirtelen változást.

A görbe sok adatból épül fel, mely ideális esetben lineáris jellegű szakaszokból és helyenként előforduló haranggörbe szakaszokból épül fel.

Ha a haranggörbe kellően meredek és lokális maximuma elég nagy az y értékek átlagához képest, úgy hirtelen ugrásszerű változás megy végbe y értékek között.

Az emberi szem és elme tudja, mi az ideális modell és ez alapján a mérési ponthalmazból (felhőből) látja a hibás értékeket is, melyek ugyebár nem illeszkednek a megfigyelő modelljéhez. Ő azonnal kiszúrja, de a programnak nem tudok megadni ilyen modellt, mely számtalan sok polinom lehet.

Ezért szeretném megoldani numerikusan. Fernando tippjét megpróbálom, de jackknife algoritmust még nem találtam, olvastam róla és definícióm bár nincs hozzá, de azért keresgélek.

[3] Fernando2010-03-16 22:44:04

A spline regresszió a legrosszabb módszer, az követ minden kiugrást. Nekem a jackknife tűnik a legjobbnak, de csupán azért, mert itt szintet is lehet állítani. Ha ezt tudja a program magától számolni, én ezt választanám, ha nem, akkor nemparaméteres, esetleg robust regressziót.

A legegyszerűbb lineáris regresszió esetén is lehet "trükközni" azzal, hogy miképpen tudjuk definiálni a pontfelhő és az egyenes távolságát, itt csak egy lehetőség --bár jellemzően ezt használják-- a legkisebb négyzetek módszere. Ha jól emlékszem ez jön ki maximum likelihood becsléssel. Gondolom polinomiális görbe illesztésekor is lehet másféleképpen távolságot definiálni, úgy, hogy kiugrásokra érzéketlenebb legyen.

Egyszerű és hatékony módszernek tűnik Bálinté is, "leborotválja" a kiugrásokat, csak nehogy "leeresszük a gyereket is.."--tehát jó adatokat.

[2] psbalint2010-03-16 21:19:53

üdvözlöm! szerintem érdemes lenne írni egy programot, ami az y(i)-k közül kiválasztja azokat, amikre mondjuk nem teljesül, hogy y(i-1)>0,95*y(i) éés y(i+1)<1,05*y(i) az összes i-re, és ezeket törölni a megadott y vektorból. az új vektorra aztán le lehet futtatni a polinomillesztést azzal a kitétellel, hogy ott már nem feltétlenül lesznek közel azonosak a távolságok (ott, ahol kiütöttünk egy elemet), de azt hiszem ez nem olyan nagy gond. kérem, írja meg valaki, hogy mekkora hülyeséget írtam, vagy nem.

[1] HunWolf2010-03-16 12:33:17

Van egy, vagy több problémám:

Egy műszerrel adatokat mérek közel egyenlő távolságú x méter közönként: Pl.: (X-Y) 0 - 19,65 5 - 19,67 9 - 19,72 16 - 19,83 22 - 19,78 De maradjunk a mellékelt ábránál, mint példa.

A x lépték váltakozó, de körülbelül 6 körül mozog.

Az y értékek egymáshoz közeli értékek viszonylag kis eltéréssel változnak.

Erre az adatsorral spline görbét illesztek és 1 méteres léptékű adathalmazt kapok (kék görbe).

A valóságban azonban a mérési adatok pontatlanok és kiugró értékeket is tartalmazhatnak, emiatt a spline görbe torzul és olyan lokális görbék keletkeznek, melyek a valóságban nincsenek.

Milyen regressziós módszert alkalmazzak ezen kiugró értékek kiszűrésére, vagy csillapítására?

Illetve van-e valamilyen görbe illesztés, mely 1, vagy 2 egymást követő kiugró értéket figyelmen kívül hagy, a görbe tartalmazhat természetes lokális görbéket, de egy pontatlan mérésből ne keletkezzen az.

Szűk matematikai ismereteim miatt kérem elnézéseteket és szakszerűtlen fogalmazásomért is.

A problémám megoldásával kapcsolatban olvasgattam és találtam egy-két megoldást, kérném véleményeteket, csak sajnos még algoritmust nem szereztem hozzá (VBA-Excel).

1. jackknife reziduum számítás az outlierek kiszűrésére. 2. Cook-féle D statisztika a torzító pontok kereséséhez 3. Robust Local Regression 4. Polynominal Regression

Melyiket használjam?

Összefoglalva: Gyakorlatilag a kellően sok számú (néhány száz) mérési adataimra akarok egy polinomot illeszteni úgy, hogy az egymást követő 1,2 hibás mérési adatot figyelmen kívül hagyva a lehető legpontosabban illeszkedjen a maradék mért értékekhez és ezzel méteres felbontású adathalmazt kapjak.