Цитата(Oldring @ Sep 7 2010, 00:50)

Там на самом деле была у меня ошибка. С минимизацией именно дисперсии результата при фиксированном среднем не всё так просто, приведенное решение не гарантирует равенство единице среднего от результата, а находит решение, минимизирующее сумму квадратов отклонений результата от единиц. Для нормировки среднего результата на единицу нужно сделать пару промежуточных шагов, но я лучше для примера покажу, как решать то, что вы ищете - как делать для выделенного первого вектора с коэффициентом 1.
Пусть А - это матрица, состоящая из столбцов - исходных векторов, начиная со второго, y - первый исходный вектор (выделенный), I - вектор-столбец, состоящий из единиц, а x - вектор-столбец неизвестных коэффициентов, начиная со второго коэффициента (первый известен). Задача - минимизировать квадратичную норму вектора y+A*x-m*I, где m - также неизвестное среднее значение результата, которое, как известно, само минимизирует дисперсию результата при остальных фиксированных членах выражения. Пусть B=[I -A], а z=[m; x], тут мы добавляем к -A спереди единичный столбец и добавляем к столбцу неизвестных коэффициентов еще один неизвестный коэффициент - среднее значение результата. Тогда задача сводится к нахождению наилучшего решения переопределенной системы B*z=y, из линейной алгебры хорошо известно, что точное решение в большинстве случаев не существует, а минимизирующее квадратичную норму ошибки решение есть z=pinv(B )*y, то есть z - есть решение возможно недоопределенной системы N линейных уравнений (B'*B )*z=B'*y. Найдя z мы явно получаем x и m как его компоненты.
Все, наверное, замечательно. Только я не понимаю.
Поскольку МО входных векторов обнулил, то вот так строю матрицу линейных уравнений:

Здесь Matrix - матрица, где каждый столбец - вектор (размерность M) на входе
LinMatrix - матрица линейных уравнений NxN (искомый вектор тоже размерности N). Вектор для линейной матрицы нулевой (частные производные в нуле). Матрица уравнений получилась такая, что элементы симметрично повторяются относительно диагонали (из левого-верхнего в правый-нижний угол).
В итоге у меня получается N уравнений и N неизвестных. Когда первый коэффициент задаю единицей, то уравнений остается N, а неизвестных уже (N - 1). Решать однозначно такую систему не получается.
Как тут можно действовать? Подумал так:
выкидывать по одному уравнению и решать систему. Итого будет N решений. Потом среди них найти то, где дисперсия в минимуме.
Так правильно?
И как сюда еще добавить условие нормализации, когда и так избыточность уравнений?