Estimating Durations
Estimating Durations
When Americans estimate elapsed time in seconds, we often count out “one Mississippi, two Mississippi,...” We’ve been using Mississippi state’s name as a filler since at least 1936. Some people instead say “one one-thousand, two one-thousand,...” I have read that others, presumably folks from England, say “one Piccadilly, two Piccadilly,...” But how accurate can such methods be? That sounded to me like a question (admittedly just for fun) best answered by the Wolfram Language.
Use SpeechSynthesize to measure how far each phrase (e.g., “one Mississippi” or “ten one-thousand”) strays from one second:
In[]:=
intStr=IntegerName/@Range[12];eMiss=AudioMeasurements[SpeechSynthesize[#<>" Mississippi"],"Duration"]-1&/@intStr;eThou=AudioMeasurements[SpeechSynthesize[#<>" one thousand"],"Duration"]-1&/@intStr;ePicc=AudioMeasurements[SpeechSynthesize[#<>" Piccadilly"],"Duration"]-1&/@intStr;trans=Transpose[{eMiss,eThou,ePicc}];plot=BarCharttrans,
Out[]=
Maybe Mississippi isn’t the best state to use for the filler. If we count to twenty with “Mississippi” as the filler word, we have an error of about +1.115 seconds. Maybe another state would do better.
Compare errors in elapsed seconds using different state names as fillers when counting to twenty:
intStr=IntegerName/@Range[20];states=StringDelete[CommonName[#],", United States"]&/@EntityList;
In[]:=
eState=(s|->s->Total[(AudioMeasurements[SpeechSynthesize[#<>" "<>s],"Duration"]-1&)/@intStr])/@states//Association;plotSt=BarChart[Values[eState],ChartLabels->Keys[eState],Axes->{False,True},LabelingFunction(Tooltip[#3[[2,1]]]&),ImageSize->600];bestWorst=SortBy[eState,Abs][[{1,-1}]];Column[{plotSt,bestWorst}]
Out[]=
Alabama0.0582766,South Carolina5.76939 |
The winner is Alabama with just +.0583 seconds off after counting to twenty. The worst was South Carolina, which adds well over five seconds.
“One” to “twelve” has mostly 1- and 2-syllable number words, but the words get longer for higher numbers like “one hundred seventy-four”. Counting up to two hundred, for instance, shows this trend.
“One” to “twelve” has mostly 1- and 2-syllable number words, but the words get longer for higher numbers like “one hundred seventy-four”. Counting up to two hundred, for instance, shows this trend.
Chart the cumulative errors of estimating 200 seconds with filler phrases:
In[]:=
intWd=IntegerName/@Range[200];cMiss=Accumulate[AudioMeasurements[SpeechSynthesize[#<>" Mississippi"],"Duration"]-1&/@intWd];cThou=Accumulate[AudioMeasurements[SpeechSynthesize[#<>" one thousand"],"Duration"]-1&/@intWd];cPicc=Accumulate[AudioMeasurements[SpeechSynthesize[#<>" Piccadilly"],"Duration"]-1&/@intWd];cAlab=Accumulate[AudioMeasurements[SpeechSynthesize[#<>" Alabama"],"Duration"]-1&/@intWd];chart=ListLinePlot[{cMiss,cThou,cPicc,cAlab},PlotLegends->{"\"Mississippi\"","\"one-thousand\"","\"Piccadilly\"","\"Alabama\""},ImageSize->600]
Out[]=
Conclusion
Conclusion
Perhaps it’s not surprising that counting “one Mississippi, two Mississippi,...” is an inaccurate way to estimate time. If you were holding a plank position at the gym until “ninety Mississippi”, you might be surprised that you planked for 108 seconds. Except in the range of 1-10, the cumulative error always overestimates the time, getting worse and worse as the numbers get bigger. The pattern appears to model well as a quadratic. (I thought to write code to get the quadratic of best fit, but that seemed to carry the silliness too far. If the reader is so inclined, the Wolfram Language function to do this is Fit.) For the sake of accuracy, it is clear that Americans should stop using “Mississippi” as a filler word in favor of “Alabama”.
Future Work
Future Work
I don’t intend to spend any more time on this fanciful notion. It is fun and easy to explore such things computationally with the Wolfram Language, but then one must return to the real world of grandchildren and laundry. If I were foolish enough to return to this topic at some future point in time, I might work out a model that estimates the error level even for numbers much higher than 200. I might try different voices in the speech synthesizer to see if that makes a difference, particularly British and female voices. A serious effort might include coming up with a counting scheme that really does stay close to zero error even with larger numbers.
CITE THIS NOTEBOOK
CITE THIS NOTEBOOK
Comparative error analysis of time estimation via filler words and state names
by Mark Greenberg
Wolfram Community, STAFF PICKS, January 15, 2025
https://community.wolfram.com/groups/-/m/t/3356785
by Mark Greenberg
Wolfram Community, STAFF PICKS, January 15, 2025
https://community.wolfram.com/groups/-/m/t/3356785
