Your comments

Спасибо! Ранее, не представлял, что существует такой прием.

Буду искать возможность проверить на ПО с работающим инструментом декластеризации и разбираться самостоятельно, скорее всего я, что-то не учел в скрипте. В моем случае разведана именно богатая часть, даже выделяются отчетливые гнезда по бороздам. А итоговое желание было освоить полосные графики, с учетом декластеризации проб. заменив средние по "проблемным полосам" на декластеризованные. Итоговый график ниже на скриншоте, без учета декластеризации, содержания в лог масштабе для наглядности. Участок разведан неидеально, возможно и модель имеет какие либо огрехи, т.к. расчет производил через КР (факторы). Расхождение с просадкой по композитам объясняются влиянием проб близких к ураганным, и неидеальной разведкой, с "дырами".

Дополню вчерашнее сообщение "Но на практике, значения среднего для некоторых ячеек выходят выше, чем среднее выборки, чего по логике быть не должно." Похоже вы поняли меня буквально. Скорректированный вопрос "значения декластеризованного среднего для некоторых размеров блоков/ячеек выходят выше, чем среднее арифметическое той же выборки...".

Спасибо за ответ, может быть я не очень понятно выражаюсь, есть проблемы с этим похоже. Я прекрасно понимаю, проблему и смысл процедуры, я и писал выше в самом первом посте и попросил помощи, как это реализовать, т.к. четко отмечается влияние кластеризации и в небольшой степени соседних полос за счет "продавливания" проб близких к "ураганным", но это объяснимо.

В моем случае имеется кластеризация по нескольким полосам, по участку с траншеей и буровой линии с заверкой опробования сближенными скважинами, дающих завышенные средние содержания относительно блочной модели за счет неравномерности сети в оцениваемой полосе. Мое желание следующее, обоснованно снизить средние содержания по композитам отдельных полос, путем декластеризации.

При написании скрипта руководствовался принципом как на картинке ниже (Вестник Roxar, октябрь 2015 ). НО проблема с тем, что в результате вычислений, среднее по некоторым размерам декластеризации у меня получается выше, чем среднее по пробам. Чего не может быть, с этим и прошу помощи. Может быть я что-то не учел, может быть из за большого количества проб, веса обрезаются не хватает 9-значной точности. Помогите пожалуйста разобраться, что я делаю не так.

Попробую описать снова последовательность вычислений, тут ни чего нет сложного, поэтому и считал что справлюсь. Вычисляю вес пробы с учетом количества блоков с пробами и количества проб в блоке, ниже картинка. Сумма всех весов проб в полосе в итоге получается 1, тут все верно. Далее суммируем произведения содержания пробы на ее вес, получая среднее содержание с учетом веса. В скрипте прогоняются с переменным шагом размеры ячеек от 0,2 м до размера включающего в себя все пробы в один блок. с выводом итоговой таблицы со средними содержаниями.

Вестник Roxar, октябрь 2015 года

P.S. реализовывал данный принцип и в двухмерном варианте с меньшим количеством проб, для траншеи, но средние также выходят за разумные пределы. Действительно, блоки/ячейки в виде куба/квадрата, но это же не должно влиять на выход среднего за пределы. Похоже в вычислениях я, что-то упускаю, но не могу понять что.

Спасибо Дмитрий, не оставил попытки разобраться с декластеризацией. С вашей подачи, попробовал реализовать идею через индексы 3Д, даже написал простенький скрипт Декластеризация.py. Скрипт формирует файл с индексами и рассчитанными весами, и итоговый файл по полосе с декластеризованными средними из которых предполагалось построить графики и выбрать нужный размер блока.

Кроме вашего краткого описания процедуры, использовал статью "Cell declustering". Действительно, в теории все вроде бы просто и понятно, разбить пространство на блоки и рассчитать вес каждой пробы в зависимости от количества проб в блоке и от общего количества блоков содержащих пробы. Итоговая формула как я понял, такая: Au_декл = ∑(Au_пробы/(кол-во блоков * кол-во проб в блоке)). Но на практике, значения среднего для некоторых ячеек выходят выше, чем среднее выборки, чего по логике быть не должно. Не подскажете, в чем может быть ошибка?

Спасибо за наводку, реализовал вашу идею, создав список строк под удаление, удаляя строки с конца файла.

"количество строк в массиве определяется в начале цикла" для этого я применяю второй счетчик учитывающий удаленные строки. В VBA и ALISP конструкция с двумя счетчиками мною применяется без каких либо сбоев, но в ММ на питоне конструкция не пошла.

Питон на прикладном уровне осваиваю только сейчас, до сих пор не было особой нужды, и без отладчика мне сложно разобраться, в чем причина. Может быть есть возможность как-то подключить модули из ММ в редакторы с отладчиком?

Здравствуйте!

У меня возникла проблема, в которой не могу разораться самостоятельно. Необходимо очистить файл от строк за пределами минимальной и максимальной координаты X. Для удаления строк использовал дополнительный счетчик строк, для учета удаленных записей. По логике все должно работать, но скрипт упорно удаляет 6 лишних строк.

Прошу помочь, перестроить скрипт.

Удаление строк.py

Коорд.dat

Насколько я понял, описанный процесс "статистика", оценивает "обычное" среднее арифметическое точек опробования и ячеек БМ попадающих в заданную полосу (блок).

Как я понял скриптов в общем доступе нет, поэтому в старых версиях ММ процедуру декластеризации провести нельзя. А с новым инструментом ознакомится нет возможности, покупка новой лицензии в стадии обсуждения. С процессом декластеризации не знаком близко, поэтому спрашиваю, где и как данную процедуру можно реализовать.

"Что вы имеете в виду под процессом декластеризации в этом случае?" В моем случае, на участке разведанной траншеей длиной 120 м происходит логичное завышение содержания в композитах относительно сглаженных содержаний в БМ, т.к. траншея с густым опробованием пройдена по "богатым" рудам. Выход, отделить участок БМ с траншеей, либо подготовить данные к анализу через процедуру декластеризации (статистически корректного разрежения сети или присвоения веса пробам).

"Если не секрет, в таком случае выглядит график?"