
У меня есть два ряда данных. Я хочу найти линейную регрессию, чтобы взять значение из ряда 1 (сырые данные датчика) и вычислить ближайшую точку из ряда 2 (данные калибровки) внутри моего устройства. Однако, хотя они используют одни и те же единицы, две серии имеют ось X с разным шагом; ряд 1 увеличивается с шагом 10, ряд 2 с шагом 6-10 в зависимости от значения датчика, поэтому я не могу просто вычислить регрессию между двумя рядами.
Как мне выровнять их на одной оси, чтобы получить регрессию? Из предыдущих работ/таблиц данных я ожидаю полином низкого порядка.
Пример данных:
Time (mS) Force (N) Time (mS) Raw value
15000 22.14 14998 287.6
15010 22.26 15007 288.6
15020 22.34 15016 288.8
15030 22.58 15024 288
15040 22.78 15033 287.6
15050 22.96 15042 287.6
15060 23.04 15051 287.4
15070 23.12 15060 287.8
15080 23.28 15069 288.6
15090 23.44 15078 288.8
15100 23.68 15086 288.6
Спасибо!
решение1
Вы можете использовать, например, эту формулу:
=IFERROR(INDEX(F:F,MATCH(A2,E:E,0)),IF(A2<MAX(E:E), FORECAST(A2,OFFSET($E$1,MATCH(A2,E:E,1)-1,1,2,1),OFFSET($E$1,MATCH(A2,E:E,1)-1,0,2,1)),""))
Сначала будет выполнен поиск точного совпадения по времени среди необработанных значений, а если не будет найдено, то будет использована FORECAST
функция для интерполяции на основе предыдущей и следующей точек времени.