sorry I read defintively too quickly: the computed score is: > score = M(=#concordances)/N(=Card(A))*100 > which seems to be right answer. Back to the first example, if A=B the score > will be 100%.[correct] > applying your scoring method if A=B then the score is smaller than 1. > [incorrect]!
1/ my scoring method = Card(A inter B)/ Card(A Union B) = # corcordances / (# omissions + # false positives+#concordances) if A = B => score= Card(A) / (0 + Card(A) + 0) = 1.0 so it works actually. 2/ sorry but I maintain that in the case of B= A union Noisy points, the fact you divise by Card(A) and not by Card(A Union B) is an issue . In this context: your score= #concordance / Card(a)= Card(a)/Card(a) = 1.0 my score = #concordance / (#omission+ #false positives + #concordances) = Card(A)/ Card(False positive)+Card(A)) < 1.0 , the right behavior. Anyway again thanks for the exchange, Best Nicolas On Sun, Mar 6, 2011 at 2:16 PM, Nicolas Maisonneuve <[email protected] > wrote: > yes I read too quickly :) > anyway thanks for your help Younes > > On Sun, Mar 6, 2011 at 12:51 PM, Younes Fadakar <[email protected]>wrote: > >> To Nicolas, >> >> question: >> >> >> What happens if B = {A + noisy points} (false positive)? >> >> answer: >> You probably missed the second part of my previous email, where >> Card(B)>Card(A) with noise: >> I copied here, see: >> >> --------------------------------------------------------------------------- >> #-----the realistic implementation----- >> N = 100 # >> A.x = rand(N) #set A.x >> A.y = rand(N) #set A.y: coordinate pairs >> B.x = shake(A.x,10%) #slightly repositions points = >> noisy positions >> >> B.y = shake(A.y,10%) # randomly with 10% move >> B.x = B.x+rand(N/10) #adds extra 10% rand points = >> extra noisy points >> B.y = B.y+rand(N/10) #Card(B)=1.1*Card(A) >> >> M = PositionAccuracy(A,B) # >> >> Score = M/N*100 #my score=normalized based on N >> #N=Card(A) >> >> --------------------------------------------------------------------------- >> the computed score is: >> score = M(=#concordances)/N(=Card(A))*100 >> which seems to be right answer. Back to the first example, if A=B the >> score will be 100%.[correct] >> applying your scoring method if A=B then the score is smaller than 1. >> [incorrect]! >> Anyway, I'm happy you have found your satisfactory answer. >> >> To Duane: >> Thanks for your message. Do you have any information about existing >> statistically best random generator? >> I appreciate your replies. >> >> To All: >> Dear everybody, >> Is there any more robust/strong/reliable/high performance random generator >> satisfying statistically and being computing friendly? How can we evaluate >> the randomness of such generators then? >> >> To myself: >> Should double check the literature for concerns in randomness. >> >> Best Regards, >> . >> Younes >> [email protected] >> http://alghalandis.com >> ------------------------------ >> >> >> >> ------------------------------ >> *From:* Nicolas Maisonneuve <[email protected]> >> *To:* Younes Fadakar <[email protected]> >> *Cc:* Ask Geostatisticians <[email protected]> >> *Sent:* Sun, 6 March, 2011 7:25:38 PM >> >> *Subject:* Re: AI-GEOSTATS: Estimation of the position accuracy of 2 set >> of points with different cardinalities >> >> >> >> In your example Card(A Union B) is always = Card(A) =N and that's an >> issue. >> >> What happens if B = {A + noisy points} (false positive)? >> According to your calcul the score will be 1.0... and that's not right. >> >> Actually I think the answer is actually trivial. >> (but I didn't think to formulate the problem in algebra terms) >> >> score = Card(A Intersection B)/Card(A Union B) >> score = # corcordances/ (#discordances+#concordances) >> score = # corcordances/ (# omissions (=Card(elements in A not included in >> B))+ # false positives(=Card(elements in B not included in >> A))+#concordances) >> >> Best, >> Nicolas >> >> >> On Sun, Mar 6, 2011 at 3:33 AM, Younes Fadakar <[email protected]>wrote: >> >>> Dear Nicolas, >>> >>> Hope this can help you. >>> >>> Let have a look at my implementation: >>> >>> #-----the simplest implementation----- >>> N = 100 #number of ref points=Crad(A) >>> A.x = rand(N) #set A.x >>> A.y = rand(N) #set A.y: coordinate pairs >>> B.X = A.x[:-10] #set B = sampling >>> B.Y = A.y[:-10] # has 10 points less than A >>> # Card(B)-Card(A)=-10 >>> M = PositionAccuracy(A,B) #as you defined=#concordances >>> >>> Score = M/N*100 #my score=normalized based on N >>> # N=Card(A) >>> >>> So the Score will be always in [0,1], here is 0.9 or 90.00%. >>> >>> and >>> >>> #-----the realistic implementation----- >>> N = 100 # >>> A.x = rand(N) #set A.x >>> A.y = rand(N) #set A.y: coordinate pairs >>> B.x = shake(A.x,10%) #slightly repositions points >>> B.y = shake(A.y,10%) # randomly with 10% move >>> B.x = B.x+rand(N/10) #adds extra 10% rand points >>> B.y = B.y+rand(N/10) #Card(B)=1.1*Card(A) >>> >>> M = PositionAccuracy(A,B) # >>> >>> Score = M/N*100 #my score=normalized based on N >>> #N=Card(A) >>> >>> Again the Score will be always in [0,1]. >>> This is what I used to generate the previously sent figures. >>> >>> >>> Best Regards, >>> >>> Younes >>> [email protected] >>> http://alghalandis.com >>> ------------------------------ >>> >>> >>> >>> ------------------------------ >>> *From:* Nicolas Maisonneuve <[email protected]> >>> *To:* Younes Fadakar <[email protected]> >>> *Cc:* Ask Geostatisticians <[email protected]> >>> *Sent:* Wed, 2 March, 2011 6:27:48 PM >>> *Subject:* Re: AI-GEOSTATS: Estimation of the position accuracy of 2 set >>> of points with different cardinalities >>> >>> Thanks for your support Younges >>> >>> my idea was inspired and adapted from the Kendall correlation coefficient >>> (http://en.wikipedia.org/wiki/Kendall_tau_rank_correlation_coefficient >>> ) but with the pb of cardinality. >>> >>> - number of concordances (accurate observations) >>> - number of discordances(omission + false positive) >>> and do a sum and then a normalisation to get something like 1.0 = max >>> corcordance max 0.0 = max discordance. >>> but I am not sure how to normalize: >>> - the range of concordance [0, Card(A)] is smaller than the >>> discordance [0, Card(A+B)] so anormalisation should be something like >>> (2Card(A)+Card(B)) but I am not sure about that , and I am not sure >>> the whole idea is right.. >>> >>> How did you normalize in your calcul? >>> >>> >>> >>> >>> On Wed, Mar 2, 2011 at 5:50 AM, Younes Fadakar <[email protected]> >>> wrote: >>> > Dear Nicolas, >>> > >>> > This is not the answer to your question but a try to implement your >>> idea and >>> > to have an experience with it. >>> > Please see the attached, the output. >>> > It seems the total score provided by the method is very dependent to >>> the >>> > 'r', the radius of search for neighbors around each ref point (A). >>> > However, being able to define the right 'r', the score seems a >>> realistic >>> > measure of accuracy to me. >>> > Of course, this is just a practical understanding hoping the community >>> could >>> > provide the statistical references. >>> > Anyway, I liked the idea. >>> > >>> > Best Regards, >>> > . >>> > Younes >>> > [email protected] >>> > http://alghalandis.com >>> > ________________________________ >>> > >>> > >>> > ________________________________ >>> > From: Nicolas Maisonneuve <[email protected]> >>> > To: [email protected] >>> > Sent: Mon, 28 February, 2011 6:21:49 PM >>> > Subject: AI-GEOSTATS: Estimation of the position accuracy of 2 set of >>> points >>> > with different cardinalities >>> > >>> > Hi everyone, >>> > >>> > A simple question: >>> > I have 1 set of 2D location points A that I use as reference. >>> > I have another set of location points B generated by observations. >>> > >>> > Is there any standard method/measure to estimate a kind of position >>> > accuracy error knowing that >>> > - A and B dont have the same cardinality of elements e.g. B could have >>> > more points than A? >>> > - a point in A should be associated to only one point in B. >>> > >>> > For the moment I created my own error measure using 3 estimations. >>> > for a given accuracy rate (<20 meters) I compute: >>> > - O: number of omissions (when there is no observation in B closed >>> > enough of a point in A) , >>> > - FP: number of false positive (when a B point has been observed but >>> > not closed to a A point - or already taken from another >>> > observation) >>> > - M: number of matching (when a B point is closed enought of a A point) >>> > and then I aggregate the result = M- (O+FP) to get an indicator.. >>> > >>> > I am pretty sure there are other more traditional ways to do that. >>> > >>> > Thanks in advance >>> > -NM >>> > + >>> > + To post a message to the list, send it to >>> [email protected] >>> > + To unsubscribe, send email to majordomo@ jrc.ec.europa.eu with no >>> subject >>> > and "unsubscribe ai-geostats" in the message body. DO NOT SEND >>> > Subscribe/Unsubscribe requests to the list >>> > + As a general service to list users, please remember to post a summary >>> of >>> > any useful responses to your questions. >>> > + Support to the forum can be found at http://www.ai-geostats.org/ >>> > >>> > >>> >>> >>> >> >> >> >> >> >> >> > >
