Если в гиперсетевой сетке (с регулярным интервалом) выбраны 23 независимых переменных, то вы можете выбрать разбиение на гиперкубы и сделать линейную интерполяцию зависимого значения от вершины, ближайшей к началу координат вдоль векторов, определенных от этой вершины вдоль ребер гиперкуба от начала координат. В общем случае для данного разбиения вы проецируете точку интерполяции на каждый вектор, что дает вам новую «координату» в этом конкретном пространстве, которая затем может быть использована для вычисления нового значения путем умножения каждой координаты на разницу зависимого переменную, суммируя результаты и добавляя к зависимому значению в локальном происхождении. Для гиперкубов эта проекция проста (вы просто вычитаете ближайшую вершинную позицию, ближайшую к началу координат.)
Если ваши образцы неравномерно распределены друг от друга, то проблема намного сложнее, так как вам нужно будет выбрать соответствующее разбиение на разделы, если вы хотите выполнить линейную интерполяцию. В принципе, Delaunay triangulation обобщает на N измерений, но это непросто сделать, и полученные геометрические объекты намного сложнее понять и интерполировать, чем простой гиперкуб.
Одна вещь, которую вы могли бы подумать, - это то, что ваш набор данных естественно поддается проекции, чтобы можно было уменьшить количество измерений. Например, если доминируют две ваши независимые переменные, вы можете свернуть проблему до двух измерений, что намного проще решить. Еще одна вещь, которую вы можете рассмотреть, - это взятие точек выборки и их размещение в матрице. Вы можете выполнить разложение SVD и посмотреть на особые значения. Если имеется несколько доминирующих сингулярных значений, вы можете использовать это для выполнения проекции на гиперплоскость, определяемую этими базисными векторами, и уменьшать размеры вашей интерполяции. В принципе, если ваши данные распространяются в определенном наборе измерений, вы можете использовать эти доминирующие измерения для выполнения вашей интерполяции, так как в действительности вы не имеете много информации в других измерениях.
Я согласен с другими комментаторами, однако, что ваше помещение может быть выключено. Обычно вы не хотите, чтобы интерполяция выполняла анализ, поскольку вы просто выбираете интерполировать свои данные по-разному, и выбор интерполяции искажает анализ. Это имеет смысл только в том случае, если у вас есть веские основания полагать, что определенная интерполяция физически согласована, и вам просто нужны дополнительные точки для определенного алгоритма.
Вы получите какой-либо осмысленный анализ из интерполированных данных? – Blorgbeard
Являются ли атрибуты числовыми? И насколько хороша ваша математика? Кроме того: вы можете добавлять точки данных, но эти данные являются мнимыми. Не уверен, как это помогает анализу, кроме «начать с более (фактических) данных». –
Не слишком ли здесь место? Если ваша проблема слишком мала размера выборки, интерполяция кажется неправильным подходом, поскольку она не сделает ваш слишком маленький образец более достоверным. Это похоже на увеличение качества DVD до HD, вы не получите более точной картины, а просто дублируете/выводили пиксели/точки данных. –