7
votes

Comment faire l'interpolation

J'ai très peu de données pour mon analyse, et je souhaite donc produire plus de données pour analyse par interpolation.

Mon ensemble de données contient 23 attributs indépendants et 1 attribut à charge ..... Comment cela peut faire l'interpolation?

EDIT:

Mon principal problème est de la pénurie de données, je hv à augmenter la taille de mon ensemble de données, n attributs est catégorique, par exemple, l'attribut A peut être faible, élevé, MEDUIM, donc l'interpolation est la bonne approche pour cela ou pas ?? ??


3 commentaires

Voulez-vous obtenir une analyse significative par des données interpolées?


Les attributs sont-ils numériques? Et à quel point votre math est bon? De plus: vous pouvez ajouter des points de données, mais ces données sont toutes imaginaires. Je ne sais pas comment cela aide l'analyse, autre que "commencer par plus de données (réelles)"


La prémisse n'est-elle pas un peu ici? Si votre problème est trop petit d'une taille d'échantillon, l'interpolation semble être la mauvaise approche, car elle ne fera plus votre échantillon trop petit. C'est comme upcaling un DVD à la qualité HD, vous n'allez pas obtenir une image plus précise, juste des pixels / points de données dupliqués / déduits.


5 Réponses :


0
votes

à peu près parlant, pour interpoler un tableau: xxx

C'est vraiment pseudo-code; Il n'effectue pas la vérification de la plage, suppose que vos données sont dans un objet ou une matrice avec un indexeur, etc.

espère que vous aidez à vous aider à démarrer - toute question s'il vous plaît poster un commentaire.


0 commentaires

0
votes

Si les 23 variables indépendantes sont échantillonnées dans une hyper-grille (régulièrement espacée), vous pouvez choisir de séparer les hyper-cubes et une interpolation linéaire de la valeur dépendante du sommet le plus proche de l'origine le long des vecteurs définis par les vecteurs définis ce sommet le long des bords hyper-cubes éloignés de l'origine. En général, pour une partition donnée, vous projetez le point d'interpolation sur chaque vecteur, ce qui vous donne une nouvelle «coordonnée» dans cet espace particulier, qui peut ensuite être utilisé pour calculer la nouvelle valeur en multipliant chaque coordonnée par la différence de la personne à charge. variable, résumant les résultats et ajoutant à la valeur dépendante à l'origine locale. Pour les hyper-cubes, cette projection est simple (vous soustrayez simplement la position de sommet la plus proche la plus proche de l'origine.)

Si vos échantillons ne sont pas uniformément espacés, le problème est beaucoup plus difficile, car vous auriez besoin de choisir une partition appropriée si vous vouliez effectuer une interpolation linéaire. En principe, Delaunay Triangulation Généralisée à N Dimensions, mais ce n'est pas facile à faire et à la géométrique résultante Les objets sont beaucoup plus difficiles à comprendre et à interpoler qu'un simple hyper-cube.

Une chose que vous pourriez envisager est que votre jeu de données soit naturellement amené à la projection afin de pouvoir réduire le nombre de dimensions. Par exemple, si deux de vos variables indépendantes dominent, vous pouvez réduire le problème à 2 dimensions, ce qui est beaucoup plus facile à résoudre. Une autre chose que vous pourriez envisager est de prendre les points d'échantillonnage et de les organiser dans une matrice. Vous pouvez effectuer une décomposition SVD et regarder les valeurs singulières. S'il y a quelques valeurs singulières dominantes, vous pouvez l'utiliser pour effectuer une projection à l'hyper-plan défini par ces vecteurs de base et réduire les dimensions de votre interpolation. Fondamentalement, si vos données sont diffusées dans un ensemble particulier de dimensions, vous pouvez utiliser ces dimensions dominantes pour effectuer votre interpolation, car vous n'avez pas vraiment beaucoup d'informations dans les autres dimensions de toute façon.

Je suis tout à fait d'accord avec les autres commentateurs, cependant que votre prémisse peut être éteinte. Vous ne souhaitez généralement pas interpoler pour effectuer une analyse, car vous choisissez simplement d'interpoler vos données de différentes manières et que le choix de l'interpolation préjugé à l'analyse. Cela n'a aucun sens si vous avez une raison convaincante de croire qu'une interpolation particulière est physiquement cohérente et que vous avez simplement besoin de points supplémentaires pour un algorithme particulier.


0 commentaires

1
votes

Ceci est un problème mathématique, mais il y a trop peu d'informations dans la question pour répondre correctement. En fonction de la distribution de vos données réelles, vous pouvez essayer de trouver une fonction qu'il suit. Vous pouvez également essayer d'interpoler des données à l'aide de réseau neuronal artificiel, mais cela serait complexe. La chose est que pour trouver des interpolations dont vous avez besoin pour analyser les données que vous avez déjà et qui défait le but. Il y a probablement plus de ce problème mais pas expliqué. Quelle est la nature des données? Pouvez-vous le placer dans l'espace N-dimensionnel? Qu'attendez-vous d'obtenir de l'analyse?


0 commentaires

0
votes

Puis-je suggérer une interpolation de la spline cubique http://www.coastrd.com/basic-cubic-spline-interpolation

Sauf si vous avez un besoin très spécifique, il est facile à mettre en œuvre et calcule bien les splines.


0 commentaires

0
votes

Regardez les méthodes de régression présentées dans éléments de l'apprentissage statistique ; La plupart d'entre eux peuvent être testés dans R . Il existe de nombreux modèles qui peuvent être utilisés: une régression linéaire, des modèles locaux et ainsi de suite.


0 commentaires