het realiseren van de betere methode door middel van statistische scores

Ik heb 7000 gegevensinstanties.

Ik heb die instanties handmatig gescoord door een mens (De referentie).

Ik heb verschillende engines om de score van de data automatisch te bepalen.

Ik heb een Excel-sheet waarin elke kolom de score van een bepaalde engine beschrijft en een kolom met de handmatig gescoorde gegevens.

Ik wil weten welke van de engines het dichtst bij de score van de mens staat, gebruikmakend van Excel-functies, programmeren, of geef me gewoon de simpele wiskunde ervan en ik zal het uitwerken.

Het scoren van gegevens is van -3.0 tot +3.0

Ik gebruik C# voor die toepassing en .NET Excel COM-bibliotheken om toegang te krijgen tot het Excel-blad.

-BIJWERKEN-

Statistisch gesproken, wat is de beste manier om de fout te beschrijven, ik bedoel dat de score van de mens neigt te dicht bij neutraal te zijn (0), maar de scores van de Motoren hebben de neiging om vertekend te zijn (boven 1,5 +/-) Ik wil kunnen bepalen de beste vergelijking om de fout op de juiste manier te beschrijven en te overdrijven.

1
@Mranz "Ik wil weten welke van de motoren het dichtst bij de score van de mens ligt ..."
toegevoegd de auteur SKandeel, de bron
@ MerlynMorgan-Graham Gewoonlijk, gewoon het gemiddelde nemen van de score van elke motor, en bestelde ze door de dichter naar/van de handmatige score dichterbij.
toegevoegd de auteur SKandeel, de bron
Misschien wilt u deze vraag proberen op Cross Validated omdat dit meer op statistische analyse dan op programmeren aankomt.
toegevoegd de auteur AakashM, de bron
Wat is de vraag?
toegevoegd de auteur Mranz, de bron

3 antwoord

Ik zou willen voorstellen om een ​​gemiddelde kwadratische fout te gebruiken. Bereken voor elke gegevensinstantie het kwadraat van het verschil voor elke engine. Dit zal de fout overdrijven en positieve getallen geven. Dan neem je de gemiddelde vierkante fout voor elke motor. Het laagste zou de 'dichtstbijzijnde' schatter voor de mens zijn.

4
toegevoegd
gemiddelde kwadratische fout die u bedoelt (som van alle +7000 squared error/+ 7000) ??
toegevoegd de auteur SKandeel, de bron
ja dat is waar het op neerkomt.
toegevoegd de auteur Captain Coder, de bron

Meestal gedaan door de motorscore af te trekken van de menselijke score, de absolute waarde te nemen en vervolgens alle 7000 op te tellen. De motor met de kleinste som komt het dichtst in de buurt.

1
toegevoegd
Dat is een manier om het te doen, hoewel niet noodzakelijk het beste. Motor 1 kan bijvoorbeeld verschillen hebben die overal verspreid zijn, maar het algemene gemiddelde is iets beter dan die van Engine 2, waarvan de verschillen altijd binnen een paar procent van de score van de mens liggen. Welke van de twee is beter?
toegevoegd de auteur Jim Mischel, de bron

De euclidische afstand tussen de datasets moet goed genoeg zijn als elk datapunt hetzelfde is range. Voor de duidelijkheid, gegevensinstanties worden genummerd en motoren worden van letters voorzien. Als de score die door de mens op datapunt i wordt gegeven, H_i is, en de score van motor a is Ea_i , dan is de fout (hoe "niet dichtbij" een bepaalde engine is) voor engine a is:

ERROR(a) = (H_1 - Ea_1)^2 + (H_2 - Ea_2)^2 + … + (H_7000 - Ea_7000)^2

De dichtstbijzijnde motor is de motor waarvoor de fout het kleinst is.

1
toegevoegd