1) Фильтр Калмана не должен требовать больших, нелинейных масштабируемых объемов памяти: он рассчитывает только оценки на основе 2 значений - начального значения и предыдущего значения. Таким образом, вы должны ожидать, что объем памяти, который вам потребуется, должен быть пропорционален общему количеству точек данных. Смотри: http://rsbweb.nih.gov/ij/plugins/kalman.html
2) Переключение на числа с плавающей запятой уменьшит объем памяти, необходимой для ваших вычислений. Это, вероятно, будет незначительным в вашем случае - я предполагаю, что если набор данных дает сбой из-за памяти, вы используете JVM с очень небольшим объемом памяти или , у вас большой набор данных.
3) Если у вас действительно большой набор данных (> 1G), и важно наполовину сократить его, то указанную библиотеку можно реорганизовать для использования только чисел с плавающей запятой.
4) Для сравнения библиотек java-матриц вы можете оформить http://code.google.com/p/java-matrix-benchmark/wiki/MemoryResults_2012_02 --- наименьшими библиотеками памяти являются ojAlgo, EJML и Colt.
Мне очень повезло с Colt для крупномасштабных вычислений, но я не уверен, какие из них реализуют метод Каламана.