Jag antar att "polynomial order" betyder precis samma sak som i andra sammanhang, nämligen vilken grad (order) av polynom filtret använder sig. Alltså, om k = 1 används räta linjens ekvation y=kx+m, om k = 2 används ett andragradspolynom, y=ax²+bx+c, osv.
Högre ordning (grad/order) ger bättre passning till befintliga punkter, men inte nödvändigtvis bättre interpolering. Det är lätt att lura sig själv och inte inse att ett "högt" polynom svänger som attan mellan punkterna. Därför är det lämpligt att plotta polynomet mer finkornigt än datapunkterna.
Simpelt är oftast bäst. Där "moving average" verkar förnuftigt passar ofta ett på engelska s.k. "single pole low-pass filter" minst lika bra och kräver mindre minne och beräkningar. Det gäller bara att leka med koefficienterna. "Single pole low-pass"-filter är av formen y1 = y0 + f(data - y0) där y0 är föregående värde och y1 är det man räknar ur (som blir y0 i nästa steg. Egentligen borde jag skriva yn=yn-1+..., men det ser konstigt ut när jag inte kan skriva nedsänkta index).
"f(x)" är en funktion som ofta bara är en förstagradare med m=0 (alltså y=kx) och k är då den s.k. "filter fraction". "k" bestämmer alltså hur mycket det nya värdet påverkas av aktuellt värde.
Det kanske är lite lättare att förstå om jag skriver nästa=(föregående) + f*(data - föregående) och "f" då är "filter fraction".
Men rent spontant ser din kurva ut som något sigmoid-liknande. Det finns säkert filter speciellt anpassade till sigmoida kurvor, vad vet jag. Hur skulle en idealt filtrerad kurva se ut?