Uitmiddelen van meetfout

pamwikkeling

Special Member

In een toepassing (die ik niet nader wil benoemen), worden drie meetwaardes A, B en C opgemeten.

Vanuit een fysische wetmatigheid weet men dat er een wiskundige relatie bestaat tussen de meetwaardes.
De meetwaarden verhouden zich tot elkaar zoals (de lengtes van) de zijden van een rechthoekige driehoek.
Met andere woorden C = sqrt (A2 + B2) en de hoek tussen A en B is 90°

Voor A, B en C worden onderstaande waardes gemeten.
A = 180
B = 87.5
C = 198.5

De meetfout op de gemeten waardes is procentueel onafhankelijk van de grootte van de meetwaarde.
Maar bij iedere meetwaarde zit een vaste “hoeveelheid” als meetfout, vergelijkbaar met de resolutie van een digitaal meettoestel.
Vb. de exacte waarde die uitgelezen wordt als 180 zal in werkelijkheid liggen tussen 179 en 181.
Een meetwaarde van 10 000 zal in werkelijkheid liggen tussen 9 999 en 10 001.

Uit deze meetwaardes moet nu de hoek α (zo nauwkeurig mogelijk) berekend worden.

Van een driehoek zijn de zijdes en hoeken gekend indien men drie waardes weet.
In dit geval weet men echter 4 waardes, namelijk A, B, C en 90°

Je kan nu de hoek α gaan berekenen op drie verschillende manieren

.
.

Eerste manier :

- uit A = 180, xx C = 198.5 en
- de recht hoek
volgt dat : 198.5 x cos (α) = 180 of α = 24.9°

.
.

Tweede manier :

- uit B = 87.5, xx C = 198.5 en
- de rechte hoek
volgt dat : 198.5 x sin (α) = 87.5 of α = 26.2°

.
.

Derde manier :

- uit A = 180, xx B = 87.5 en
- de rechte hoek
volgt dat : C = SQRT (A² + B²) of C = 200.14
hieruit volgt dat : 200.14 x cos (α) = 180 of α = 25.9°

Is er nu een manier om te beslissen welke van de berekende hoeken het meest correct is ?
Kan ik door uitmiddelen (X = 25.67°) een nauwkeurigere waarde bekomen?

Middelen van de berekende hoeken is de meest voor de hand liggende methode. Er zal vast wel een betere methode zijn, maar die ken ik niet. Dan denk ik aan de gemeten lengten en van daaruit een best passende driehoek te construeren en uit die driehoek weer hoek α berekenen.
Simpel voorbeeld:
A= 3,01
B= 3,99
C= 5,01
Best passende driehoek wordt dan (gok ik):
A= 3
B= 4
C= 5
α = 370
Je hebt sowieso te maken met een minimale fout van 1 digit. Dan ligt het voor de hand om met de grootste waarden aan de slag te gaan, dus bij α < 450 pak je de sinus en α > 450 pak je de cosinus en bij α = 450 dan kies je er maar één.

[Bericht gewijzigd door ohm pi op vrijdag 12 februari 2021 22:23:58 (26%)

Kruimel

Golden Member

Een deel van je probleem zit in het feit dat je premissen inconsistent zijn:

Op 12 februari 2021 21:27:47 schreef pamwikkeling:
A = 180
B = 87.5
C = 198.5

Deze drie getallen zijn nooit tegelijk exact juist. Je zou hier een berekening kunnen maken van alle drie de grootheden uitgedrukt in de andere twee grootheden en een kansverdeling kunnen maken om te bepalen wat de kansverdeling is van de exacte waarde van de grootheid. Dat stelt je in staat om in elk geval het bereik waarin de grootheden zich bevinden te limiteren: als A=180±1 en B=87,5±1 dan geldt C=198,8 tot 201,5. In dit geval kunnen we gegeven de meetwaarde dus al vaststellen dat C in een veel kleiner bereik zit 198,8 tot 199,5. Het klinkt als veel rekenwerk voor elke keer dat je het moet doen, maar als de resolutie slecht is kan het misschien uitmaken. Op deze manier kan je ook iteratief naar een veel kleiner bereik werken.

De meetfout op de gemeten waardes is procentueel onafhankelijk van de grootte van de meetwaarde.
Maar bij iedere meetwaarde zit een vaste “hoeveelheid” als meetfout, vergelijkbaar met de resolutie van een digitaal meettoestel.

Als het een resolutieprobleem is dan weten we in elk geval dat de kansverdeling over het genoemde bereik vlak is. Ik geloof niet helemaal dat dit in werkelijkheid echt zal voorkomen (net als een hoek van 90°±0), maar is op zich als rekenkundige veronderstelling niet ongeldig.

Is er nu een manier om te beslissen welke van de berekende hoeken het meest correct is ?
Kan ik door uitmiddelen (X = 25.67°) een nauwkeurigere waarde bekomen?

Ongewogen gemiddelden nemen is hier niet aan te raden. Je kunt volgens het bovengenoemde de kansverdeling van de ene grootheid op de andere projecteren, maar reken op een middagje rekenwerk als er inverse sinussen van toepassing zijn. Heb je je bijvoorbeeld al afgevraagd hoe nauwkeurig je resultaat zal zijn? Als je begindata in de vorm "180±1" is zou het resultaat ook zo een soort vorm hebben. Ik zou eens een voorbeeldsituatie nemen en de extremen proberen te vinden. In deze situatie zal dat relatief makkelijk zijn, want het resultaat correleert altijd in dezelfde richting met de beginwaarden: als bijvoorbeeld A groter wordt, wordt α kleiner, dus je hoeft niet naar pieken en dalen in het midden van de meetregio te zoeken.

Even in de veronderstelling dat die 90 graden hoek vanuit de opstelling gegarandeerd is.

Je meet 3 waarden, maar twee zijn genoeg om een meting te doen. Je meet dus een waarde teveel. Waarom?

Aangenomen dat dat is om de nauwkeurigheid te verbeteren. Dan is de volgende vraag: Weet je de nauwkeurigheid van je lengtemetingen?

Als je dat weet kun je van iedere meetwaarde een onder- en bovengrens bepalen, en daarmee een onder- en bovengrens van je hoek.

Dat levert met 3 lengtes 3 onder- en 3 bovengrenzen op. Waarschijnlijk zit je werkelijke hoek tussen de hoogste onder- en laagste bovengrens in. Wat nu als de hoogste ondergrens groter is dan de laagste bovengrens?

Dan moet je meer kennis hebben over de foutmechanismen en de opstelling. Die je niet wil geven, dus zelf zal moeten uitzoeken.

@kruimel: het is natuurlijk bekend dat het bij de gegeven ABC getallen net niet klopt: Er zijn meetfouten waardoor dit (als voorbeeld) er uit gekomen is, en de vraag is: Hoe reken je de meest waarschijnlijke alpha hoek uit.

Idem over de hoek. Pamwikkeling zegt volgens mij dat die hoek essentieel 90 graden is. Extern met VEEL Meer nauwkeurigheid gemeten of mogelijk gewoon een natuurkundige wet.

@pamwikkeling.

* intro

Met "normale" meetfouten, zou je een normale verdeling verwachten. Je zou een simulatie kunnen runnen door een normale verdeling om A, B en C te definieren steeds nieuwe random om de gemeten ABC heen A' B' C' kiezen en dan alpha uitrekenen. De gemiddelde waarde waar dat naar toegaat is de meest waarschijnlijke waarde.

(Als de meetfout procentueel is dan zou je bij C=100 een 2x bredere normaal verdeling voor C' moeten gebruiken dan bij A=50. Maar dat is bij jou niet, dus je gebruikt normaal verdelingen die allemaal even breed zijn)

Met jou "verdeling" van meetfouten is dit niet helemaal de beste methode. Als het bijvoorbeeld UITSLUITEND (*) quantisatieruis is, dan weet je dat de verdeling plat is over een -0.5...0.5 interval.

Mijn voorstel is: kies eps = klein. Bereken nu A' en A'' als A-eps en A+eps . Idem voor B en C.

Reken nu de hoek uit op basis van A' & B', A' & B'',A'' & B' en A'' en B''. Je krijgt nu vier getallen. Neem voor het gemak de laagste en hoogste.

Doe hetzelfde met de hoek op basis van A & C en B & C.

Omdat je drie verschillende resultaten had met eps=0, overlappen de regios voor klein genoege eps niet. Je zoekt nu de kleinste eps waarvoor de zones wel gaan overlappen. De vraag is nog even of je de eerste overlap moet pakken, Moet wachten totdat alles overlapt of dat je een specifieke overlap moet pakken.

Als de meetfouten klein zijn, dan kan je dit optimaliseren: Door voor een heel kleine eps grootte van de ranges uit te rekenen weet je de verhouding tussen eps en de grootte van de ranges. Dan kan je ook zonder steeds een nieuwe eps te moeten proberen uitrekenen wanneer de boel gaat overlappen.

Ik denk trouwens dat je waarschijnlijk de meest gevoelige (grootste range bij een eps-waarde) moet weggooien en dan de eps kiezen dat de overige twee overlappen.

Stel bijvoorbeeld we meten A=100, B=2, C=101. De berekening met A en C gaat alle kanten op. Voor kleine eps verschillen heb je al heel grote verschillen in alpha. Die moet je weggooien en op basis van B en A-of-C moet je het resultaat bepalen.

Als je 1 algorithme kiest, of nog moet kiezen uit meerdere dan kan je de boel optimaliseren.

code:


for (i=0;i<1000;i++) {
  // 
  A = random (MINA, MAXA); 
  B = random (MINB, MAXB);
  C = sqrt (A*A + B*B);
  a = atan (A/B);

  mA = A + fuzz ();
  mB = B + fuzz ();
  mC = C + fuzz ();

  ca1 = alo1 (mA, mB, mC);
  ca2 = alo2 (mA, mB, mC);

  // bepaal nu het verschil ca1-a, ca2-a en print het of bepaal gemiddelde. 
}

Als het eenmaal werkt ga je de 1000 iteraties verhogen om een goede vergelijking van de algorithmes te verkrijgen....

(*) in de praktijk 100% onwaarschijnlijk maar goed

four NANDS do make a NOR . Kijk ook eens in onze shop: http://www.bitwizard.nl/shop/
Kruimel

Golden Member

Op 13 februari 2021 10:12:35 schreef rew:
@kruimel: het is natuurlijk bekend dat het bij de gegeven ABC getallen net niet klopt: Er zijn meetfouten waardoor dit (als voorbeeld) er uit gekomen is, en de vraag is: Hoe reken je de meest waarschijnlijke alpha hoek uit.

Je uitleg lezende proberen we volgens mij hetzelfde te zeggen... :)

Je kunt volgens mij ook de kansverdeling projecteren van A en B naar α, dan van B en C naar α en dan van A en C naar α en die kansruimten vermenigvuldigen en hernormaliseren naar 1. Daar kan je dan weer wat statistiek op loslaten met een gemiddelde en standaarddeviatie en een maximaal bereik, maar als je dat wiskundig moet uitwerken hoop ik dat je er een leuk uurloon voor krijgt... :O

Hallo Pamwikkeling,

Als je nu eerst eens de nauwkeurigheid definieerd waaraan de te meten hoek moet voldoen(zo nauwkeurig mogelijk is als een beetje glazenbol kijken), dan kun je mbv de rekenregels voor absolute en relatieve fouten uitvogelen met welke nauwkeurigheid je de startparameters moet gaan meten. nu lijkt het mij meer op de trialenerrormethode.

De probleemstelling is mijns inziens toch duidelijk.
Er zijn drie lengtes gegeven en een hoek van 900.
Wat is de beste schatting van één van de andere hoeken?
Dat ik het niet kan oplossen ligt niet aan de probleemstelling.

Je kan het natuurlijk tot wetenschap gaan promoten, maar de praktijk is natuurlijk dat er een hobbyist met een projectje bezig is en halverwege bedenkt:hey, ik heb meer informatie ddan nodig, hoe kan ik dat zo optimaal mogelijk gebruiken?

code:


#define eps 0.01

double wa (a1, s2, a2, s2)
{
  // return weighted average of a1, a2 weighted inversely proportional to s1, s2;
  return a1 + s2 * (a2-a1) / (s1+s2);
}


double alg_rew (double a, double b, double c)
{
  double a1, a2, a3;
  double s1, s2, s3;

  a1  = calca1(a,b);
  s1  = abs (calca1(a+eps, b) - a1);
  s1 += abs (calca1(a, b+eps) - a1);

  a2  = calca2(a,c);
  s2  = abs (calca2(a+eps, c) - a2);
  s2 += abs (calca2(a, c+eps) - a2);

  a3  = calca3(b,c);
  s3  = abs (calca1(b+eps, c) - a3);
  s3 += abs (calca1(b, c+eps) - a3);

  if (s1 > s2) {
     if (s1 > s3) { // s1 is the largest of the three, so use a2,a3
        return wa (a2, s2, a3, s3);
     } else { // s3 is the largest of the three, so use a1, a2;
        return wa (a1, s1, a2, s2);
     }
  } else {
     // so far S2 is larger...
     if (s2 > s3) { // it is the largest!
       return wa (a1, s1, a3, s3);
     } else { // s3 is the largest of the three.
       return wa (a1, s1, a2, s2);
     ]
  } 
}

Iemand die het beter kan in de simulatie.... You have my respect!
(untested, zal wel wat bugs hebben).

four NANDS do make a NOR . Kijk ook eens in onze shop: http://www.bitwizard.nl/shop/
High met Henk

Special Member

Advocaat van de duivel modus:

Hoe nauwkeurig is de 90 graden hoek??
In dit voorbeeld is hij imo tussen 89.5 en 90.5.

Is wel een gegeven wat je aanneemt in ELKE berekening als aanname.

[Bericht gewijzigd door High met Henk op zaterdag 13 februari 2021 20:51:28 (23%)

E = MC^2, dus de magnetische compatibiliteit doet kwadratisch mee???

Op 13 februari 2021 20:50:38 schreef High met Henk:
Hoe nauwkeurig is de 90 graden hoek??
In dit voorbeeld is hij imo tussen 89.5 en 90.5.

Op 12 februari 2021 21:27:47 schreef pamwikkeling:
Vanuit een fysische wetmatigheid weet men dat er een wiskundige relatie bestaat tussen de meetwaardes.
De meetwaarden verhouden zich tot elkaar zoals (de lengtes van) de zijden van een rechthoekige driehoek.

Er is geen sprake van een fysieke rechte hoek. Alleen het rekenmodel is ook toepasbaar op rechthoekige driehoeken, nl de stelling van Pythagoras. In de electrotechniek komt dit oa voor bij gemeten stroom, gemeten blindstroom en gemeten reële stroom.

Ik zou dit heel anders bekijken. Bij een hoek van 45 graden maakt het niets uit hoe je de berekening maakt. De sin en cos zijn gelijk.

Het wordt spannender als de hoeken rond de 0 of 90 graden gaan.

Dan is de uiteindelijk afwijking voor de ene berekening C/A of C/B wel anders.

Even ter visualisatie: Stel je heb een sinusvormig signaal. Je kunt het beschouwen in welk stuk je van de sinus zit, in de nuldoorgang of op de top.
Ga je evenuit van de "top" van de sinus dan is een kleine afwijking in de amplitude al moeilijk om te zetten in de fase wat dat stuk is vrij breed.
Zit je in de nuldoorgang is de flank redelijk steil en is de fase veel nauwkeuriger te berekenen.

Conclusie: Pak de A en B waarde en Vergelijk die. Is de A < B -> methode 1. Is A >= B -> methode 2.

Met methode 1 of 2 bedoel ik dan welke set van A,C of B,C je gebruikt om de hoek uit te rekenen.

1-st law of Henri: De wet van behoud van ellende. 2-nd law of Henri: Ellende komt nooit alleen.

Een andere berekening voor hoek α:
Elke gegeven lengte heeft een fout. Door die fout kunnen we eigenlijk spreken van een korte lengte bij negatieve fout en lange lengte bij een positieve fout.
Dus we hebben:
Ak en Al
Bk en Bl
Ck en Cl
Uit deze 6 lengtes kunnen we 12 driehoeken construeren, namelijk:
Ak, Bk, Cberekend
Ak, Bl, Cberekend
Al, Bk, Cberekend
Al, Bl, Cberekend
Ak, Bberekend, Ck
Ak, Bberekend, Cl
Al, Bberekend, Ck
Al, Bberekend, Cl
Aberekend, Bk, Ck
Aberekend, Bk, Cl
Aberekend, Bl, Ck
Aberekend, Bl, Cl
Cberekend wordt mbv de stelling van Pythagoras berekend aan de hand van de bijbehorende A en C. Van de bovenste 4 driehoeken hebben Cberekend allemaal een verschillende waarde.
Op analoge wijze geldt dat dus ook voor Bberekend en Aberekend
We hebben nu 12 driehoeken waarvan hoek α gezocht wordt en hoek β 900 is.
Van deze 12 driehoeken bepalen we de x en y coördinaten van hoek γ in het xy-vlak. We zoeken dus niet de waarde van hoek γ, maar de 12 plaatsen van de 12 hoeken γ.
Nu gaan we een 13e driehoek construeren.
Hoek α ligt op de oorsprong (x=0, y=0)
Hoek β (900) ligt ergens op de x-as. (x=xgem, y=0)
Hoek γ ligt op xgem, ygem
xgem is het gemiddelde van alle x-coordinaten van de hoeken γ van de voorgaande 12 driehoeken.
ygem is het gemiddelde van alle y-coordinaten van de hoeken γ van de voorgaande 12 driehoeken.
Uit deze (13e) driehoek berekenen we hoek α

Je kan lullen wat je wilt, maar de vraag is: "Gegeven A', B', C' bepaal de best mogelijke schatting voor α = atan (B/A) gegeven dat A2 + B2 = C2 en A' = A + fuzz, B' = B + fuzz, C' = C + fuzz waarbij "fuzz" steeds een verschillende random waarde is maar wel steeds met dezelfde verdeling.

Ik denk dat het een redelijk goed omschreven wiskundig probleem is.

four NANDS do make a NOR . Kijk ook eens in onze shop: http://www.bitwizard.nl/shop/
Kruimel

Golden Member

Ik stel ook voor om het werk verder aan de TS over te laten, ik denk dat er voldoende opzet is voor hem om verder te werken. Het zou natuurlijk heel leuk voor hem zijn als wij hier al moddergooiend een prachtig werkend systeem in elkaar draaien, maar de relevantie van de probleemstelling is nog niet aangetoond, en er is al best een hoop concreet resultaat. Om ons nu in een kronkel te wringen om een toepassing die niet nader genoemd hoeft te worden perfect uit te werken lijkt me jammer van de tijd.

Ik denk ook dat de wiskundige probleemstelling voldoende duidelijk is.
Er zijn een aantal oplossingen met ieder zijn voor- en nadelen gegeven waaruit TS verder kan werken.
Ben benieuwd hoe TS over de gegeven methoden denkt.
Misschien is er wel een snellere methode om het doel van TS te bereiken, maar die wij niet weten omdat we het doel niet kennen.
De gevraagde hoek zal wel niet het definitieve antwoord zijn, maar een tussenresultaat waarmee verder gewerkt moet worden.
[OT]

Op 14 februari 2021 22:18:19 schreef rew:
Je kan lullen wat je wilt...

??????
[/OT]

[Bericht gewijzigd door ohm pi op zondag 14 februari 2021 23:50:42 (13%)