У меня есть список двойных значений, и я хочу найти в нем выбросы. Предоставляет ли нам какой-либо алгоритм для решения проблемы?Найти выбросы в группе с двойными значениями
ответ
In this work paper (первая ссылка), у вас есть полнотекстовая реализация алгоритма outlier с WEKA.
Кроме того, алгоритм, используемый в
предложено в работе «A Unified Approach to Detecting Spatial Outliers», С. Шекхар и др. В документе показаны несколько тестов обнаружения пространственного выброса. Например, облако варограмм отображает точки данных, относящиеся к отношениям . Для каждой пары местоположений квадратный корень абсолютной разницы между значениями атрибутов в точках местоположения по сравнению с изображен на эвклидовом расстоянии между местоположениями. В наборах данных , демонстрирующих сильную пространственную зависимость, дисперсия в атрибутах различий на множестве данных с сильной пространственной зависимостью, отклонение в разнице атрибутов будет увеличиваться с увеличением расстояния между местоположениями . Места, близкие друг к другу, , но с большими различиями атрибутов, могут указывать пространственный outlier, хотя значения в обоих местоположениях могут казаться разумными при анализе набора данных в не пространственном пространстве. Один из основных недостатков других алгоритмов обнаружения извне приводит к некоторому истинному пространственным выбросам, игнорируемым, и идентифицированы ложные пространственные выбросы .
Для алгоритмов обнаружения отклонений вы можете взглянуть на это SIAM tutorial.
Возможно, вам необходимо вычислить среднее и стандартное отклонение чисел в списке. Это должно быть относительно просто закодировать их вручную, см. http://www.mathsisfun.com/data/standard-deviation-formulas.html.
Вы также можете использовать Apache Math Commons library для выполнения вычислений.
package test;
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
double[] data = { 20, 65, 72, 75, 77, 78, 80, 81, 82, 83 };
double[] data1 = null;
double[] data2 = null;
if (data.length % 2 == 0) {
data1 = Arrays.copyOfRange(data, 0, data.length/2);
data2 = Arrays.copyOfRange(data, data.length/2, data.length);
} else {
data1 = Arrays.copyOfRange(data, 0, data.length/2);
data2 = Arrays.copyOfRange(data, data.length/2 + 1, data.length);
}
double q1 = getMedian(data1);
double q3 = getMedian(data2);
double iqr = q3 - q1;
double lowerFence = q1 - 1.5 * iqr;
double upperFence = q3 + 1.5 * iqr;
System.out.println("Lower Fence: " + lowerFence);
System.out.println("Upper Fence: " + upperFence);
}
public static double getMedian(double[] data) {
if (data.length % 2 == 0)
return (data[data.length/2] + data[data.length/2 - 1])/2;
else
return data[data.length/2];
}
}
Не могли бы вы объяснить, что делает этот код? – Al0x
- 1. обнаруживать выбросы в группе и выбросы в одиночных данных
- 2. JSlider с близкими двойными значениями
- 3. iOS - Операции с двойными значениями
- 4. Сортировать ArrayList двойными значениями
- 5. Переопределение HashCode() в Java с двойными значениями
- 6. выпуск в делении с двойными значениями
- 7. Диаграмма с двойными пончиками с отрицательными значениями
- 8. Как изменить QSlider с двойными значениями
- 9. Выберите значения с двойными максимальными значениями sql
- 10. многоклассовая классификация с двойными значениями и scikit
- 11. Java Работа с двойными значениями, имеющие E
- 12. Junit тестирование для hashMap с двойными значениями
- 13. Как построить график с двойными значениями даты?
- 14. Наполнения двойного массива с двойными значениями
- 15. Java MethodOverloading ошибка с двойными значениями
- 16. OpenCV - gaussianKernel с фильтром2D и двойными значениями
- 17. NSPredicate не работает с двойными значениями (% f)?
- 18. Как найти выбросы в sas с proc означает?
- 19. Анализировать выражение с двойными значениями коэффициентов в mathdotnet
- 20. фильтр MySQL значениями в группе
- 21. Sql Query Между двумя двойными значениями
- 22. JSON.net Ошибка десериализации с двойными значениями в json
- 23. ArcObjects: сохранение IRaster с двойными значениями, отображаемыми в цвета
- 24. Matlab: Преобразование ячейки с двойными значениями в строку
- 25. Создайте вектор в R с двойными или тройными значениями
- 26. разница высчитывает между двумя двойными значениями точно
- 27. Выбросы с использованием RPCA
- 28. WPF: UpdateSourceTrigger = проблема с PropertyChanged с двойными значениями
- 29. Как найти выбросы в заданном наборе данных с использованием Python
- 30. Найти дубликаты записей с разными значениями
Этот учебник SIAM очень информативен и полезен, особенно для ненормальных распределений. –
да, но до сих пор отсутствует простой пример java, используя простой список чисел, чтобы найти outliers – lidox